Python 기초- List & Dictionary 비교

ID짱재·2021년 5월 5일
0

Python

목록 보기
18/39
post-thumbnail

🌈 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]) # 11 22 33 44 55 66 77
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]) # 11 22 33 44 55 66 77

2. pop() 비교

  • 리스트는 pop(0)을 반복하고 맨 앞에 요소부터 1개씩 반환되며 삭제됨
  • 즉, 리스트는 삭제 후 남은 요소들을 앞으로 한칸 씩 재배치 시킴
  • 딕셔너리의 경우, key값이 0이 항목이 맨 앞자리에 있다면 리스트와 동일하게 삭제되는 것처럼 보이지만, 1번만 삭제 가능
l = [11, 22, 33, 44, 55, 66, 77]
l.pop(0)
print(l) # [22, 33, 44, 55, 66, 77]
l.pop(0)
print(l) # [33, 44, 55, 66, 77]
l.pop(0)
print(l) # [44, 55, 66, 77]
d = {0:11, 1:22, 2:33, 3:44, 4:55, 5:66, 6:77}
d.pop(0)
print(d) # {1: 22, 2: 33, 3: 44, 4: 55, 5: 66, 6: 77}
  • 단, 리스트에서 pop()과 딕셔너리에서 popitem()은 유사하게 작동함
  • 리스트에서는 마지막 요소를 반환하고 제거하고, 딕셔너리에서는 마지막 항목을 반환하고 제거함
l = [11, 22, 33, 44, 55, 66, 77]
l.pop()
print(l) # [11, 22, 33, 44, 55, 66]
l.pop()
print(l) # [11, 22, 33, 44, 55]
l.pop()
print(l) # [11, 22, 33, 44]
d = {0:11, 1:22, 2:33, 3:44, 4:55, 5:66, 6:77}
d.popitem()
print(d) # {0: 11, 1: 22, 2: 33, 3: 44, 4: 55, 5: 66}
d.popitem()
print(d) # {0: 11, 1: 22, 2: 33, 3: 44, 4: 55}
d.popitem()
print(d) # {0: 11, 1: 22, 2: 33, 3: 44}

3. in 연산 비교

  • 리스트는 in 연산을 통해 요소가 존재하는지 바로 확인 가능
  • 딕셔너리는 key가 in 연산을 통해 비교할 때, default로 key값을 비교함
  • 단, valuse()를 이용하면 리스트처럼 값을 포함하는지 비교할 수 있음
l = [11, 22, 33, 44, 55, 66, 77]
# 개수 확인
print(len(l))
# in 연산
print(22 in l) # True
print(77 in l) # True
d = {0:11, 1:22, 2:33, 3:44, 4:55, 5:66, 6:77}
# in 연산
print(22 in d) # False
print(77 in d) # False
print(22 in d.values()) # True
print(77 in d.values()) # True
profile
Keep Going, Keep Coding!

0개의 댓글