01. 리스트 다루기
- 기존에 배웠듯이 리스트는 [원소1, 원소2, 원소3..] 같이 정의할 수 있는
자료 구조로서, 숫자, 문자의 제약을 받지 않음
- 1차원 리스트 : 자료가 한 줄로 이뤄져 있음
- 2차원 리스트 : 자료가 행, 열로 구성되어 있고 행, 열 순서로 인덱싱
- 3차원 리스트 : 자료가 깊이(depth), 행, 열로 구성되어 있고 깊이, 행, 열 순서로 인덱싱
- 리스트 관련된 함수
- min() : 리스트 요소 중 최소값 구하는 함수
- max() : 리스트 요소 중 최대값 구하는 함수
- sum() : 리스트 요소의 합을 구하는 함수
- enumerate() : 리스트 원소에 순서값을 부여
- zip() : 반복 가능한 객체 묶어주는 함수
- chd() : 아스키코드 -> 문자
- ord() : 문자 ->아스키코드
- enumerate() 예시
student_score = [80,90,70,80]
for i in enumerate(student_score):
print(i)
dogs = ['슈나우저','코커스파니엘','보더콜리','비글']
scores = [7.5, 8.0, 9.2, 6.8]
for k in zip(dogs, scores):
print(k)
02. 딕셔너리 다루기
- keyvalue 추가할 때 : setdefault(), update()
- keyvalue 삭제할 때 : pop(), popitem()
- pop() : 리스트에서 마지막 요소 반환 후 제거
- popitem() : 딕셔너리에서 (key, value) 쌍을 튜플로 반환하면서 삭제
- pop() 함수 예시
lst = [10, 20, 30]
x = lst.pop()
print(x)
print(lst)
d = {'a': 1, 'b': 2, 'c': 3}
k, v = d.popitem()
print(k, v)
print(d)
03. 컴프리헨션(Comprehension)
- 대괄호 안에 if문, for문, in의 조건 등을 활용하여 간결하게 표현
- {}등을 통해, set 컴프리헨션, 딕셔너리 컴프리헨션도 사용 가능
- 리스트 컴프리헨션 예시(1)
squares = []
for i in range(1,6):
squares.append()
```python
squares = [i ** 2 for i in range(1, 6)]
evens = []
for i in range(10):
if i%2 == 0:
evens.append(i)
evens = [i for i range(10) if i%2==0]
- 리스트 컴프리헨션 예시(3)
- 억지스러운 상황이지만 이렇게도 활용 가능함(비추)
fib = [0,1]
for i in range(2,10):
fib.append(fib[i-1],fib[i-2])
print(fib)
fib = [0, 1]
[fib.append(fib[i-1] + fib[i-2]) for i in range(2, 10)]
print(fib)