반응형
받아쓰기하는 파이썬 튜플
튜플의 경우 t = ((1, 'a'),(2, 'b'))
dict(t)
반환{1: 'a', 2: 'b'}
얻는 좋은 방법이 {'a': 1, 'b': 2}
있습니까 (키와 발을 교환)?
궁극적으로 1
given 'a'
또는 2
given 을 반환 할 수 있기를 원합니다 'b'
. 아마도 dict로 변환하는 것이 가장 좋은 방법은 아닙니다.
시험:
>>> t = ((1, 'a'),(2, 'b'))
>>> dict((y, x) for x, y in t)
{'a': 1, 'b': 2}
약간 간단한 방법 :
>>> t = ((1, 'a'),(2, 'b'))
>>> dict(map(reversed, t))
{'a': 1, 'b': 2}
파이썬 2.7을 사용하는 경우 훨씬 간결합니다.
>>> t = ((1,'a'),(2,'b'))
>>> {y:x for x,y in t}
{'a':1, 'b':2}
>>> dict([('hi','goodbye')])
{'hi': 'goodbye'}
또는:
>>> [ dict([i]) for i in (('CSCO', 21.14), ('CSCO', 21.14), ('CSCO', 21.14), ('CSCO', 21.14)) ]
[{'CSCO': 21.14}, {'CSCO': 21.14}, {'CSCO': 21.14}, {'CSCO': 21.14}]
동일한 키에 대해 여러 값이있는 경우 다음 코드는 해당 값을 해당 키에 해당하는 목록에 추가합니다.
d = dict()
for x,y in t:
if(d.has_key(y)):
d[y].append(x)
else:
d[y] = [x]
몇 가지 방법이 있습니다.
>>> t = ((1, 'a'), (2, 'b'))
>>> # using reversed function
>>> dict(reversed(i) for i in t)
{'a': 1, 'b': 2}
>>> # using slice operator
>>> dict(i[::-1] for i in t)
{'a': 1, 'b': 2}
참고 URL : https://stackoverflow.com/questions/3783530/python-tuple-to-dict
반응형
'IT' 카테고리의 다른 글
부트 스트랩 경고 자동 닫기 (0) | 2020.06.25 |
---|---|
래퍼 "https"를 찾을 수 없습니다. PHP를 구성 할 때 랩퍼를 활성화하는 것을 잊었습니까? (0) | 2020.06.25 |
이름을 기준으로 속성 값을 얻는 방법 (0) | 2020.06.25 |
jQuery의 테이블 행 및 열 번호 (0) | 2020.06.25 |
Cloud9.io의 Webpack dev 서버에서 React 앱을 실행할 때“잘못된 호스트 헤더”메시지가 나타납니다. (0) | 2020.06.25 |