Chapter 10 Part 1
1. 튜플은 제한된 리스트입니다..
2. 튜플은 소괄호()를 사용하며, 리스트는 대괄호[]를 사용합니다.
3. 튜플은 변경이 불가능합니다. 오직 정렬(allignment)만이 가능합니다.
4. x[a] = b라고 쓰는 것을 파이썬에서는 아이템 할당이라고 합니다.
5. 튜플과 스트링은 비슷합니다. 스트링에서와 마찬가지로 아이템 변경이 불가능합니다.
6. 튜플을 사용하는 이유는 효율성 때문입니다. 용량이 적으며, 접근이 보다 빠릅니다.
7. 그저 값을 저장/접근만 할 것이라면 리스트보다 튜플이 효율적입니다.
8. 리스트에서는 되고 튜플에서는 되지 않는 것들은 결국 튜플의 제한된 특성 때문입니다.
9. 튜플에서는 sort, append, reverse 모두 불가능합니다.
10. 임시로 사용하는 변수를 만들 때, 튜플을 사용합니다. 그와 반대로 리스트는 무엇을 구축하는데 사용됩니다.
11. 튜플을 좌변에 놓을 수 있다는 것은, 함수가 튜플을 리턴할 수 있다는 것을 의미합니다.(아직 잘 이해X)
12. 아까도이야기 했던 것처럼, 튜플은 스트링과 비슷합니다. 스트링이 비교가 가능했듯이, 튜플도 원소간 비교가 가능합니다.
Chapter 10 Part 2
1. 딕셔너리는 항상 구별되는 유일한 키를 가집니다.
2 .items()를 sorted시키면 키-값으로 이루어진 원소는 리스트화 되며, 키에 의해 정렬됩니다.
3. 키와 값의 위치를 바꾸기 위해서는, 딕셔너리 형태에서 튜플을 원소로 가지는 새로운 리스트를 만들어 준 뒤
조건에 맞게 정렬시켜야 합니다.
4. 즉 임시 리스트를 만들어 줌으로써 과정을 간략히 만들 수 있습니다.
5. 리스트 컴프리핸션은 []안에 원소의 조건을 넣어주어, 코드를 간략히 표현하는 아름다운 방법입니다.
Practice
어차피 수정하지 않을 값에 대해서는 리스트보다는 튜플을 쓰는 것이 더 효율적!이다
# chapter 9의 실습과 이어진다.
x = sorted(di.items()) # di라는 딕셔너리에서 items를 통해 키-값을 형성한 후, 키 값에 의해 정렬하고 그 딕셔너리를 x에 할당한다.
print(x[:5]) # x의 5번째 원소까지 출력한다.
# 키가 아닌 값으로 정렬시키기 위해서
tmp = list() # tmp라는 임시 리스트를 형성한다.
for k,v in di.items() : # 이 리스트를 채우기 위한 반복문으로, di 딕셔너리에서 키-값에 접근한다.
print(k,v) #각각의 키-값에 대하여 값-키로 출력한다.
newt = (v,k) # 새로운 튜플 newt에 값-키 순서로 튜플을 형성한다.
tmp.append(newt) tmp 리스트에 값-키로 만들어진 튜플을 추가한다.
#print('Flipped',tmp) # Flipped라는 문자와 tmp리스트를 출력한다.
tmp = sorted(tmp, reverse = True) # tmp를 값에 의해서 역순으로 정렬시킨 것을 다시 tmp로 할당한다.
print('Sorted: ',tmp[:5]) # Sorted: 이라는 문자와 함께 tmp의 원소 5개를 출력한다.
for v,k in tmp[:5] : 값-키 형식의tmp에 대하여
print(k,v) # 5개의 원소를 키-값 형태로 출력한다.