development

파이썬에서 사전의 키-값 쌍을 인쇄하는 방법

big-blog 2020. 6. 10. 07:52
반응형

파이썬에서 사전의 키-값 쌍을 인쇄하는 방법


파이썬 사전에서 키 값 쌍을 다음과 같이 출력하고 싶습니다.

key1 \t value1
key2 \t value2

나는 다음과 같이 할 수 있다고 생각했다.

for i in d:
    print d.keys(i), d.values(i)

하지만 분명히 있다는 것은은으로 이동하지 방법 keys()values()인수를하지 않습니다.


기존 코드는 약간만 조정하면됩니다. 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'

또는 파이썬 3의 경우 :

for k,v in dict.items():
    print(k, v)

for key, value in d.iteritems():
    print key, '\t', value

dict 키로 출력 정렬하려면 컬렉션 패키지를 사용할 수 있습니다 .

import collections
for k, v in collections.OrderedDict(sorted(d.items())).items():
    print(k, v)

그것은 파이썬 3에서 작동합니다


>>> d={'a':1,'b':2,'c':3}
>>> for kv in d.items():
...     print kv[0],'\t',kv[1]
... 
a   1
c   3
b   2

사전에서 items ()호출하여 키 및 / 또는 값에 액세스 할 수 있습니다 .

for key, value in d.iteritems():
    print(key, value)

이미 언급 된 방법 외에도 '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]

사전:

d={'key1':'value1','key2':'value2','key3':'value3'}

다른 한 줄 솔루션 :

print(*d.items(), sep='\n')

산출:

('key1', 'value1')
('key2', 'value2')
('key3', 'value3')

(그러나 이전에 아무도 이와 같은 것을 제안한 적이 없기 때문에 모범 사례가 아니라고 생각합니다)


간단한 사전 :

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')

Here is a one liner solution to print all pairs in a tuple:

print(tuple(([x for x in x.keys()][i], [x for x in x.values()][i]) for i in range(len(x))))

Output:

(('X', 'yes'), ('Y', 'no'), ('Z', 'ok'))

참고URL : https://stackoverflow.com/questions/26660654/how-do-i-print-the-key-value-pairs-of-a-dictionary-in-python

반응형