Python Collections
defaultdict
키 가 존재 하 는 지 확인 할 필요 가 없습니다.
from collections import defaultdict
demo = (('a',1),('b',2),('c',3),('d',4))
print(dict(demo))
default_demo = defaultdict(list) # values list , key
for k, v in demo:
default_demo[k].append(v)
print(default_demo)
사전 에서 키 를 끼 워 넣 기
from collections import defaultdict
tree = lambda : defaultdict(tree)
demo_dict = tree()
demo_dict['a']['b']['c'] = 'ok'
import json
print(json.dumps(demo_dict))
# {"a": {"b": {"c": "ok"}}}
OrderedDict
dict 를 사용 할 때 키 는 무질서 합 니 다.dict 를 교체 할 때 키 의 순 서 를 정할 수 없습니다.
from collections import OrderedDict
d = dict([('a',1),('w',2),('c',3)]) # key
print(d)
od = OrderedDict([('a', 1), ('b', 2), ('c', 3)]) # key
print(od)
od = OrderedDict() # key
od['z'] = 1
od['y'] = 2
od['x'] = 3
print(od.keys())
counter
Counter 는 어떤 데 이 터 를 계산 하 는 데 도움 을 주 는 카운터 입 니 다.카운터 도 실제로
dict
의 하나 와 같다.from collections import Counter
demo = (('a',1),('b',2),('c',3),('d',4),('d',6))
result = Counter(k for k, v in demo)
print(result)
# Counter({'d': 2, 'a': 1, 'b': 1, 'c': 1})
c = Counter()
for i in 'dmeosscc':
c[i] += 1
print(c)
deque
양 끝 대기 열 을 제공 합 니 다. 처음부터 끝까지 요 소 를 추가 하거나 삭제 할 수 있 습 니 다.
from collections import deque
d = deque(maxlen=10) # 10,
d.append('1')
d.append('2')
d.append('3')
d.extend(['4','5','6'])
d.extendleft('0')
print(len(d), d)
print(d.popleft())
print(d.pop())
print(d)
# 7 deque(['0', '1', '2', '3', '4', '5', '6'], maxlen=10)
# 0
# 6
# deque(['1', '2', '3', '4', '5'], maxlen=10)
nametuple
원본 그룹 (nametuple) 을 명명 하여 원본 그룹 을 간단 한 용기 로 만 듭 니 다. 색인 으로 데 이 터 를 방문 하지 않 아 도 사전 처럼 접근 할 수 있 습 니 다
nametuple
. 그러나 nametuple
는 변 하지 않 습 니 다.from collections import namedtuple
Apple = namedtuple('Apple','x y')
a = Apple(1,2)
print(a.x)
print(a.y)
# 1
# 2
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.