05. Programing Language/[Python] 1. 파이썬 자료구조

[Python] 3-1 리스트의 개념 및 특징

인러너 2020. 1. 14. 12:44

 

 

1. 프로그래밍 

-알고리즘 : 문제를 해결하는데 사용하는 일련의 규칙 또는 단계

-자료구조 : 컴퓨터에서 자료를 구성하는 특별한 방법

 

-지금까지는 알고리즘에 대해서 배웠다. 이제 자료구조에 대해 배워보자 

 

 

2. 컬렉션이 아닌 것은?

 

-대부분 변수는 한 값만을 갖는다(새 값을 대입하면, 이전 값에 덮어씌워 진다)

 

 

3. 리스트는 컬렉션의 일종

-컬렉션은 하나의 '변수'에 많은 값을 넣을 수 있다.

friends = [ 'Joseph', 'Glenn', 'Sally']
carryon = [ 'socks', 'shirt', 'perfume']

-먼저는 컬렉션중 리스트에 대해 살펴보자.

 

 

4. 리스트 상수

print([1, 24, 76])
#[1, 24, 76]
print(['red', 'yellow', 'blue'])
#['red', 'yellow', 'blue']
print(['red', 24, 98.6])
#['red', 24, 98.6]
print([1, [5, 6], 7])
#[1, [5, 6], 7]
print([])
#[]

- 리스트 상수는 대괄호로 둘러싸여 있고 리스트의 원소는 반점으로 구분된다.

- 리스트는 파이썬의 어떤 객체도 원소로 넣을 수 있다

  심지어 다른 리스트를 넣는 것도 가능하다.

- 빈 리스트도 생성가능 

 

 

5. 리스트의 내부 

friends = ['Joseph', 'Glenn', 'Sally']
print(fiends[1])
#Glenn

-문자열과 마찬가지로, 대괄호를 이용한 인덱스로 리스트의 원소 하나하나를 가져 올 수 있다.

 

6. 리스트는 변경 가능

fruit = 'Banana'
fruit[0]= 'b'
#Tracebacke shalasallala(오류발생)
x = fruit.lower()
print(X)
#banana
lotto = [2, 14, 26, 41, 63]
print(lotto)
#[2, 14, 26, 41, 63]
lotto[2] = 28
print(lotto)
#[2, 14, 28, 41, 63]

- 문자열은 변경불가!

 --문자열의 내용은 변경할 수 없음

 --변경하려면 새 문자열을 만들어야 한다. 

- 리스트는 변경가능!

 --인덱스 연산자를 사용하여 리스트의 요소를 변경 할 수 있다.

 

 

7. 리스트의 길이는?

-len() 함수는 리스트의 원소 개수를 반환한다.

 

 

8. range 함수 사용하기 

print(list(range(4)))
#[0, 1, 2, 3]
friends = ['Joseph', 'Glenn', 'Sally']
print(len(friends))
#3
print(list(range(len(friends))))
#[0, 1, 2]

-range 함수는 0부터 매개 변수로 넣은 값보다 1 작은 범위의

 수 까지로 구성된 숫자 리스트를 반환한다.

-강좌 예문이랑 다르지만 list로 감싸줘야 올바른 출력이 나온다...

 

 

9. 두 가지 루프이야기..

friends = ['Joseph', 'Glenn', 'Sally']
for friend in friends :
	print('Happy New Year:', friend)

for i in range(len(friends)) :
	friend = friends[i]
    print('Happy New Year:', friend)

#결과는 동일

-결과는 동일하지만 두번째 방법이 활용방안이 많아 보인다.