답변:
기존 코드는 약간만 조정하면됩니다. i
입니다 당신은 단지 그것을 사용해야합니다 그래서 키는 :
for i in d:
print i, d[i]
키와 값이 모두 포함 된 반복자를 얻을 수도 있습니다. Python 2에서는 d.items()
(키, 값) 튜플 목록을 d.iteritems()
반환하고 동일한 항목을 제공하는 반복자를 반환합니다.
for k, v in d.iteritems():
print k, v
Python 3에서는 d.items()
반복자를 반환합니다. 목록을 얻으려면 반복자를 list()
자신 에게 전달해야합니다 .
for k, v in d.items():
print(k, v)
사전에 약간의 소개
d={'a':'apple','b':'ball'}
d.keys() # displays all keys in list
['a','b']
d.values() # displays your values in list
['apple','ball']
d.items() # displays your pair tuple of key and value
[('a','apple'),('b','ball')
인쇄 키, 값 방법 1
for x in d.keys():
print x +" => " + d[x]
다른 방법
for key,value in d.items():
print key + " => " + value
당신은 키를 사용할 수 있습니다 iter
>>> list(iter(d))
['a', 'b']
다음을 사용하여 사전 키 값을 얻을 수 있습니다 get(key, [value])
.
d.get('a')
'apple'
키가 사전에 없으면 기본값이 주어지면 값을 반환합니다.
d.get('c', 'Cat')
'Cat'
사전:
d={'key1':'value1','key2':'value2','key3':'value3'}
다른 한 줄 솔루션 :
print(*d.items(), sep='\n')
산출:
('key1', 'value1')
('key2', 'value2')
('key3', 'value3')
(그러나 이전에 아무도 이와 같은 것을 제안한 적이 없기 때문에 좋은 습관이 아닌 것 같습니다.)
print(*[f"{': '.join(map(str,v))}" for i,v in enumerate(list(d.items()))], sep='\n')
.... 또는 다음을 수행 할 수 있습니다 편리하게 색인 번호 인쇄print(*[f"[{i}] {': '.join(map(str,v))}" for i,v in enumerate(list(d.items()))], sep='\n')
사전에서 items () 를 호출하여 키 및 / 또는 값에 액세스 할 수 있습니다 .
for key, value in d.iteritems():
print(key, value)
items()
은 당신의 텍스트의 첫 줄과 코드에 말했다 iteritems()
. python3x에서 올바른 방법은 dict.items()
처음 말한 것과 같습니다.
이미 언급 된 방법 외에도 'viewitems', 'viewkeys', 'viewvalues'를 사용할 수 있습니다.
>>> d = {320: 1, 321: 0, 322: 3}
>>> list(d.viewitems())
[(320, 1), (321, 0), (322, 3)]
>>> list(d.viewkeys())
[320, 321, 322]
>>> list(d.viewvalues())
[1, 0, 3]
또는
>>> list(d.iteritems())
[(320, 1), (321, 0), (322, 3)]
>>> list(d.iterkeys())
[320, 321, 322]
>>> list(d.itervalues())
[1, 0, 3]
또는 itemgetter 사용
>>> from operator import itemgetter
>>> map(itemgetter(0), dd.items()) #### for keys
['323', '332']
>>> map(itemgetter(1), dd.items()) #### for values
['3323', 232]
간단한 사전 :
x = {'X':"yes", 'Y':"no", 'Z':"ok"}
Python 3에서 특정 (키, 값) 쌍을 인쇄하려면 (이 예제에서 색인 1의 쌍) :
for e in range(len(x)):
print(([x for x in x.keys()][e], [x for x in x.values()][e]))
산출:
('X', 'yes')
('Y', 'no')
('Z', 'ok')
다음은 튜플의 모든 쌍을 인쇄하는 하나의 라이너 솔루션입니다.
print(tuple(([x for x in x.keys()][i], [x for x in x.values()][i]) for i in range(len(x))))
산출:
(('X', 'yes'), ('Y', 'no'), ('Z', 'ok'))