🌈 List & Dictionary 비교
🔥 생성 방법과 조회 방법 비교
🔥 요소 삭제 비교
🔥 in 연산 비교
1. 생성 방법과 조회 방법 비교
- 리스트 생성 방법 : 🔍 list = [ ]
- 딕셔너리 생성 방법 : 🔍 dict = { }
- 리스트는 인덱스로 조회하고, 딕셔너리는 key값으로 조회함
- 리스트는 첫 번째 값의 인덱스가 0으로 시작되며, 인덱스는 자동으로 할당됨
- 딕셔너리는 사용자가 지정한 key값으로 조회되고, 순서가 없음
- 아래와 같이 동일한 방법으로 조회할 수 있으나, list는 index값, dict는 key값으로 조회 가능
l = [11, 22, 33, 44, 55, 66, 77]
print(l[0], l[1], l[2], l[3], l[4], l[5], l[6])
d = {0:11, 1:22, 2:33, 3:44, 4:55, 5:66, 6:77}
print(l[0], l[1], l[2], l[3], l[4], l[5], l[6])
2. pop() 비교
- 리스트는 pop(0)을 반복하고 맨 앞에 요소부터 1개씩 반환되며 삭제됨
- 즉, 리스트는 삭제 후 남은 요소들을 앞으로 한칸 씩 재배치 시킴
- 딕셔너리의 경우, key값이 0이 항목이 맨 앞자리에 있다면 리스트와 동일하게 삭제되는 것처럼 보이지만, 1번만 삭제 가능
l = [11, 22, 33, 44, 55, 66, 77]
l.pop(0)
print(l)
l.pop(0)
print(l)
l.pop(0)
print(l)
d = {0:11, 1:22, 2:33, 3:44, 4:55, 5:66, 6:77}
d.pop(0)
print(d)
- 단, 리스트에서 pop()과 딕셔너리에서 popitem()은 유사하게 작동함
- 리스트에서는 마지막 요소를 반환하고 제거하고, 딕셔너리에서는 마지막 항목을 반환하고 제거함
l = [11, 22, 33, 44, 55, 66, 77]
l.pop()
print(l)
l.pop()
print(l)
l.pop()
print(l)
d = {0:11, 1:22, 2:33, 3:44, 4:55, 5:66, 6:77}
d.popitem()
print(d)
d.popitem()
print(d)
d.popitem()
print(d)
3. in 연산 비교
- 리스트는 in 연산을 통해 요소가 존재하는지 바로 확인 가능
- 딕셔너리는 key가 in 연산을 통해 비교할 때, default로 key값을 비교함
- 단, valuse()를 이용하면 리스트처럼 값을 포함하는지 비교할 수 있음
l = [11, 22, 33, 44, 55, 66, 77]
print(len(l))
print(22 in l)
print(77 in l)
d = {0:11, 1:22, 2:33, 3:44, 4:55, 5:66, 6:77}
print(22 in d)
print(77 in d)
print(22 in d.values())
print(77 in d.values())