[파이썬] Mapping Types - operations

list(d)

딕셔너리 d에 사용된 모든 키의 리스트를 반환

list(dict(one=1, two=2, three=3)) 
# -> ['one', 'two', 'three']

len(d)

딕셔너리 d에 있는 항목의 수를 반환

len({'one': 1, 'two': 2, 'three': 3}) 
# -> 3

d[key]

키 이름이 key 인 d의 항목을 반환 key가 매핑에 없는 경우 KeyError를 일으킵니다.

dict_01 = dict(zip(['one', 'two', 'three'], [1, 2, 3]))

dict_01['two'] 
# -> 2

dict_01['four'] 
# -> KeyError

d[key] = value

d[key]를 value 로 설정합니다.

dict_02 = dict(zip(['one', 'two', 'three'], [1, 2, 3]))

dict_02['one'] = 'first'
dict_02['four'] = 4

dict_02 
# -> {'one': 'first', 'two': 2, 'three': 3, 'four': 4}

del d[key]

d에서 d[key]를 제거합니다. key가 매핑에 없는 경우 KeyError를 일으킵니다.

dict_03 = dict([('one', 1), ('two', 2), ('three', 3)])

del dict_03['three']
dict_03 
# -> {'one': 1, 'two': 2}

key in d

d에 키 key가 있으면 True를, 그렇지 않으면 False를 반환

'one' in {'one': 1, 'two': 2, 'three': 3} 
# -> True

key not in d

not key in d 와 동등합니다.

'one' not in {'one': 1, 'two': 2, 'three': 3} 
# -> False

iter(d)

딕셔너리의 키에 대한 이터레이터를 반환 이것은 iter(d.keys())의 단축입니다.

iter({'one': 1, 'two': 2, 'three': 3}) 
# -> <dict_keyiterator object at 0x1026525c0>

clear()

딕셔너리에서 모든 항목을 제거합니다.

dict_04 = dict(one=1, two=2, three=3)

dict_04.clear()
dict_04 
# -> {}

copy()

딕셔너리의 얕은 복사본을 반환

dict_05 = dict({'one': 1, 'three': 3}, two=2)

dict_06 = dict_05.copy()
dict_05 == dict_06 
# -> True

get(key[, default])

key가 딕셔너리에 있는 경우 key에 대응하는 값을 돌려주고, 그렇지 않으면 default를 반환 default가 주어지지 않으면 기본값 None 이 사용됩니다. 그래서 이 메서드는 절대로 KeyError를 일으키지 않습니다.

dict_07 = dict(zip(['one', 'two', 'three'], [1, 2, 3]))

dict_07.get('two') 
# -> 2

dict_07.get('four') 
# -> None

dict_07.get('four', 0) 
# -> 0

items()

딕셔너리 항목들((key, value) 쌍들)의 새 뷰를 반환 뷰 객체의 설명서를 참조하세요.

{'one': 1, 'two': 2, 'three': 3}.items() 
# -> dict_items([('one', 1), ('two', 2), ('three', 3)])

keys()

딕셔너리 키들의 새 뷰를 반환 뷰 객체의 설명서를 참조하세요.

{'one': 1, 'two': 2, 'three': 3}.keys() 
# -> dict_keys(['one', 'two', 'three'])

pop(key[, default])

key가 딕셔너리에 있으면 제거하고 그 값을 반환 그렇지 않으면 default를 반환 default가 주어지지 않고 key가 딕셔너리에 없으면 KeyError를 일으킵니다.

dict_08 = dict(zip(['one', 'two', 'three'], [1, 2, 3]))

dict_08.pop('one') 
# -> 1

dict_08.pop('four') 
# -> KeyError

dict_08.pop('four', 0) 
# -> 0

popitem()

딕셔너리에서 (key, value) 쌍을 제거하고 반환 쌍은 LIFO 순서로 반환됩니다.

popitem() 은 집합 알고리즘에서 종종 사용되듯이 딕셔너리를 파괴적으로 이터레이션 하는 데 유용합니다. 딕셔너리가 비어 있으면 popitem() 호출은 KeyError를 일으킵니다. 버전 3.7에서 변경: 이제 LIFO 순서가 보장됩니다. 이전 버전에서는, popitem()가 임의의 키/값 쌍을 반환합니다.

dict([('one', 1), ('two', 2), ('three', 3)]).popitem() 
# -> ('three', 3)

reversed(d)

딕셔너리의 키에 대한 역순 이터레이터를 반환 이것은 reversed(d.keys())의 단축입니다.

버전 3.8에 추가.

reversed({'one': 1, 'two': 2, 'three': 3}) 
# -> <dict_reversekeyiterator object at 0x10433e4d0>

setdefault(key[, default])

key가 딕셔너리에 있으면 해당 값을 반환 그렇지 않으면, default 값을 갖는 key를 삽입한 후 default를 반환 default의 기본값은 None 입니다.

dict_09 = {'one': 1, 'two': 2, 'three': 3}

dict_09.setdefault('three') 
# -> 3

dict_09.setdefault('four') 
# -> None

dict_09.setdefault('five', 5) 
# -> 5

# -> {'one': 1, 'two': 2, 'three': 3, 'four': None, 'five': 4}

update([other])

other가 제공하는 키/값 쌍으로 dictionary를 갱신합니다. 기존 키는 덮어씁니다. None을 반환

update() 는 다른 딕셔너리 객체 나 키/값 쌍(길이 2인 튜플이나 다른 이터러블)를 주는 이터레이터를 모두 받아들입니다. 키워드 인자가 지정되면, 딕셔너리는 그 키/값 쌍으로 갱신됩니다: d.update(red=1, blue=2).

dict_10 = {'one': 1, 'two': 2, 'three': 3}

dict_10.update({'one': 'first', 'two': 'second', 'three': 'third', 'four': 'fourth'})

# -> {'one': 'first', 'two': 'second', 'three': 'third', 'four': 'fourth'}

values()

딕셔너리 값들의 새 뷰를 반환 뷰 객체의 설명서를 참조하세요.

한 dict.values() 뷰와 다른 dict.values() 뷰 간의 동등 비교는 항상 False를 반환합니다. 이것은 dict.values()를 자신과 비교할 때도 적용됩니다:

dict_11 = {'one': 1, 'two': 2, 'three': 3}

dict_11.values() 
# -> dict_values([1, 2, 3])

dict_11.values() == dict_11.values() 
# -> False

d | other

d와 other의 병합된 키와 값으로 새 딕셔너리를 만듭니다. 둘 다 딕셔너리이어야 합니다. d와 other가 키를 공유하면 other의 값이 우선합니다.

버전 3.9에 추가.

{'one': 1, 'two': 2, 'three': 3} | {'three': 'third', 'four': 'fourth'} 
# -> {'one': 1, 'two': 2, 'three': 'third', 'four': 'fourth'}

d |= other

other의 키와 값으로 딕셔너리 d를 갱신합니다. other는 매핑이나 키/값 쌍의 이터러블일 수 있습니다. d와 other가 키를 공유하면 other의 값이 우선합니다.

버전 3.9에 추가. 딕셔너리는 (순서와 관계없이) 같은 (key, value) 쌍들을가질 때, 그리고 그때만 같다고 비교됩니다. 순서 비교(〈<〉, 〈<=〉, 〈>=〉, 〈>〉)는 TypeError를 일으킵니다. 딕셔너리는 삽입 순서를 유지합니다. 키를 갱신해도 순서에는 영향을 미치지 않습니다. 삭제 후에 추가된 키는 끝에 삽입됩니다.: 버전 3.7에서 변경: 딕셔너리 순서는 삽입 순서임이 보장됩니다. 이 동작은 3.6부터 CPython의 구현 세부 사항입니다. 딕셔너리와 딕셔너리 뷰는 뒤집을 수 있습니다. 버전 3.8에서 변경: 딕셔너리는 이제 뒤집을 수 있습니다.

dict_12 = {'one': 1, 'two': 2, 'three': 3}

dict_12 |= {'three': 'third', 'four': 'fourth'}

# -> {'one': 1, 'two': 2, 'three': 'third', 'four': 'fourth'}

links

social