如何在 python 中打印字典的键值对

2025-03-11 08:50:00
admin
原创
64
摘要:问题描述:我想从 python 字典中输出我的键值对,如下所示:key1 value1 key2 value2 我想我可以这样做:for i in d: print d.keys(i), d.values(i) 但显然事情并非如此,因为keys()不values()接受争论。解决方...

问题描述:

我想从 python 字典中输出我的键值对,如下所示:

key1      value1
key2      value2

我想我可以这样做:

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

但显然事情并非如此,因为keys()values()接受争论。


解决方案 1:

Python 2 和 Python 3

i 关键,因此你只需要使用它:

for i in d:
    print i, d[i]

Python 3

d.items()返回迭代器;要获取列表,您需要将迭代器传递给list()自己。

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

Python 2

您可以获得一个包含键和值的迭代器。d.items()返回(键,值)元组的列表,而d.iteritems()返回提供相同功能的迭代器:

for k, v in d.iteritems():
    print k, v

解决方案 2:

字典简介

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

打印键、值方法一

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:

或者,对于 Python 3:

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

解决方案 4:

字典:

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

另一个一行解决方案:

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

输出:

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

(但由于之前没有人提出过这样的建议,我认为这不是一个好的做法)

解决方案 5:

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

对于 Python 3.x

for key, value in d.items():
    print(f'{key}    {value}') 

解决方案 6:

您可以通过在字典中调用items()来访问您的键和/或值。

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

解决方案 7:

如果您想按字典键对输出进行排序,则可以使用收集包。

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

它适用于 Python 3

解决方案 8:

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

解决方案 9:

除了已经提到的方法之外,还可以使用“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]

解决方案 10:

一本简单的字典:

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

解决方案 11:

打印键值对,例如:

players = {
     'lebron': 'lakers',
     'giannis':   'milwakee bucks',
     'durant':  'brooklyn nets',
     'kawhi':   'clippers',    
}

对于玩家、俱乐部在玩家.items():

print(f"
{player.title()} is the leader of {club}")

以上代码,键值对:

 'lebron': 'lakers', - Lebron is key and lakers is value

for循环-在dictionary.item()中指定键、值:

现在打印(球员姓名是俱乐部的领导者)。

输出为:

#Lebron is the leader of lakers
#Giannis is the leader of milwakee bucks
#Durant is the leader of brooklyn nets
#Kawhi is the leader of clippers

解决方案 12:

如果你正在寻找漂亮打印的字典,请查看Rich:

from rich import print

prices = {
    "banana": 4,
    "apple": 2,
    "orange": 1.5,
    "pear": 3,
    "strawberry": 1,
    "blueberry": 0.5,
    "mango": 4.5
}

print(prices)

在此处输入图片描述

解决方案 13:

如果您需要打印键和值,那么您可以在调用中解开该对print()

d={'key1':'value1','key2':'value2','key3':'value3'}
for x in d.items():
    print(*x)
#         ^  <--- unpack here


key1 value1
key2 value2
key3 value3

如果您想使用单行代码打印与上述相同的输出,那么字符串连接可以完成这项工作。

print(*map(' '.join, d.items()), sep='
')    # option 1
print('
'.join(map(' '.join, d.items())))    # option 2

如果您想将键值对漂亮地打印为字典,则json.dumps标准库中的内容可用于创建可打印的字符串。

import json
print(json.dumps(d, indent=4))


{
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}

删除外面的括号和缩进:

print(json.dumps(d, indent=0)[1:-1])


"key1": "value1",
"key2": "value2",
"key3": "value3"
相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   2500  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1541  
  PLM(产品生命周期管理)项目对于企业优化产品研发流程、提升产品质量以及增强市场竞争力具有至关重要的意义。然而,在项目推进过程中,范围蔓延是一个常见且棘手的问题,它可能导致项目进度延迟、成本超支以及质量下降等一系列不良后果。因此,有效避免PLM项目范围蔓延成为项目成功的关键因素之一。以下将详细阐述三大管控策略,助力企业...
plm系统   16  
  PLM(产品生命周期管理)项目管理在企业产品研发与管理过程中扮演着至关重要的角色。随着市场竞争的加剧和产品复杂度的提升,PLM项目面临着诸多风险。准确量化风险优先级并采取有效措施应对,是确保项目成功的关键。五维评估矩阵作为一种有效的风险评估工具,能帮助项目管理者全面、系统地评估风险,为决策提供有力支持。五维评估矩阵概述...
免费plm软件   23  
  引言PLM(产品生命周期管理)开发流程对于企业产品的全生命周期管控至关重要。它涵盖了从产品概念设计到退役的各个阶段,直接影响着产品质量、开发周期以及企业的市场竞争力。在当今快速发展的科技环境下,客户对产品质量的要求日益提高,市场竞争也愈发激烈,这就使得优化PLM开发流程成为企业的必然选择。缺陷管理工具和六西格玛方法作为...
plm产品全生命周期管理   26  
热门文章
项目管理软件有哪些?
曾咪二维码

扫码咨询,免费领取项目管理大礼包!

云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用