본문 바로가기
Programming Language/Python

[파이썬 python] 리스트 list, 딕셔너리 dictionary 주요 메소드 예제

by ggyongi 2021. 4. 17.
반응형

개인 공부를 위해 모았으며 별도의 설명은 생략

 

<리스트>

# list

len(a)    #O(1)
a[i]     #O(1)
a[i:j]    #O(k)
elem in a #O(n)

a.count(elem) #O(n)
a.index(elem) #O(n)

a.append(elem) #O(1)
a.insert(idx, elem) #O(n)

a.pop() #O(1)
a.pop(0) #O(n)

del a[i] #O(n)
a.remove(elem) #O(n)

a.sort() #O(nlogn)
min(a)/max(a) #O(n)
a.reverse() #O(n)

 

<딕셔너리>

## dict
len(a)             #O(1)
a[key]             #O(1)
a[key] = value      #O(1)
key in a           #O(1)
del a['key']


## dictionary iteration
a.values()  ## return list
a.items()  ## return list[(key,value)]

for k, v in a.items()
for value in a.values()


collections.defaultdict(int/list/set)

# Counter --> return dict / key : item, value: the number of the item
collections.Counter(a)
a.most_common(n) # n is not index but number.

 

Counter의 편리한 점은

Counter 끼리의 덧셈 또는 뺄셈이 가능하다. 

또 그 때마다 자동으로 개수를 새로 세어 개수 순으로 재정렬한다.

import collections
a = collections.Counter([1,1,1,1,2,2,3])
b = collections.Counter([1,1,1])
    
print(a+b)
print(a-b)
print(b-a)
    
>>> Counter({1: 7, 2: 2, 3: 1})
>>> Counter({2: 2, 1: 1, 3: 1})
>>> Counter()
 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글