파이썬 사전의 특정 키에 여러 값을 추가하고 싶습니다. 어떻게 할 수 있습니까?
a = {}
a["abc"] = 1
a["abc"] = 2
그러면 a [ "abc"] 값이 1에서 2로 바뀝니다.
대신 내가 원하는 것은 a [ "abc"]가 여러 값 (1과 2 모두)을 갖는 것입니다.
파이썬 사전의 특정 키에 여러 값을 추가하고 싶습니다. 어떻게 할 수 있습니까?
a = {}
a["abc"] = 1
a["abc"] = 2
그러면 a [ "abc"] 값이 1에서 2로 바뀝니다.
대신 내가 원하는 것은 a [ "abc"]가 여러 값 (1과 2 모두)을 갖는 것입니다.
답변:
값을 목록으로 만듭니다. 예 :
a["abc"] = [1, 2, "bob"]
최신 정보:
키에 값을 추가하고 목록이없는 경우 목록을 만드는 방법에는 두 가지가 있습니다. 이러한 방법 중 하나를 작은 단계로 보여 드리겠습니다.
key = "somekey"
a.setdefault(key, [])
a[key].append(1)
결과 :
>>> a
{'somekey': [1]}
다음으로 시도해보십시오.
key = "somekey"
a.setdefault(key, [])
a[key].append(2)
결과 :
>>> a
{'somekey': [1, 2]}
의 마술은 해당 키가 정의되지 않은 경우 해당 키 setdefault
의 값을 초기화하고 그렇지 않으면 아무 작업도 수행하지 않는다는 것입니다. 이제 키 를 반환 한다는 점에 주목 하여 이들을 한 줄로 결합 할 수 있습니다.setdefault
a.setdefault("somekey",[]).append("bob")
결과 :
>>> a
{'somekey': [1, 2, 'bob']}
dict
방법, 특히 방법을 살펴보고 이에 get()
익숙해 지도록 몇 가지 실험을 수행해야합니다.
어때
a["abc"] = [1, 2]
결과는 다음과 같습니다.
>>> a
{'abc': [1, 2]}
그게 당신이 찾고 있던 것입니까?
{"abc": 1, 2}
딕셔너리는 키 : 값 쌍이며 키당 하나의 값만 있으므로 수행 할 수 없습니다 .