在 Python 中打印字典中的所有键值对
Print all key-value pairs in a Dictionary in Python
要打印字典中的所有键值对:
- 使用该
dict.items()
方法获取字典项目的视图。 - 使用
for
循环遍历视图。 - 使用该
print()
函数打印每个键值对。
my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } for key, value in my_dict.items(): # name bobbyhadz # age 30 # language Python print(key, value) print(list(my_dict.keys())) # 👉️ ['name', 'age', 'language'] print(list(my_dict.values())) # 👉️ ['bobbyhadz', 30, 'Python']
dict.items方法返回字典
项((键,值)对)的新视图。
# 👇️ [('name', 'bobbyhadz'), ('age', 30), ('language', 'Python')] print(list(my_dict.items()))
如果您需要以任何方式格式化键和值,请使用格式化字符串文字。
my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } for key, value in my_dict.items(): # name=bobbyhadz # age=30 # language=Python print(f'{key}={value}')
f
.var1 = 'bobby' var2 = 'hadz' result = f'{var1}{var2}' print(result) # 👉️ bobbyhadz
确保将表达式括在大括号 –{expression}
中。
您可以使用dict.keys()
和dict.values()
方法来打印字典的键和值。
my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } print(list(my_dict.keys())) # 👉️ ['name', 'age', 'language'] print(list(my_dict.values())) # 👉️ ['bobbyhadz', 30, 'Python']
dict.keys方法返回字典键的
新视图。
dict.values方法返回字典
值的新视图。
str.join()
方法。my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } result = ', '.join(f'{key}: {value}' for key, value in my_dict.items()) # 👇️ name: bobbyhadz, age: 30, language: Python print(result)
我们将一个生成器表达式传递给该str.join()
方法。
在每次迭代中,我们使用格式化的字符串文字来格式化键值对。
str.join方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
我们使用逗号和空格作为键值对之间的分隔符,但您可以使用任何其他分隔符。
下面是一个使用换行符 ( \n
) 作为分隔符的示例。
my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } result = '\n'.join(f'{key}: {value}' for key, value in my_dict.items()) # name: bobbyhadz # age: 30 # language: Python print(result)
\n
当与换行符 ( ) 字符分隔符连接时,字典的键值对打印在单独的行上。
您还可以使用可迭代的*
拆包运算符和sep
参数来打印字典中的所有键值对。
my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } # ('name', 'bobbyhadz') # ('age', 30) # ('language', 'Python') print(*my_dict.items(), sep='\n')
*可迭代解包运算符
使我们能够在函数调用、推导式和生成器表达式中解包可迭代对象。
sep
参数是我们传递给 的参数之间的分隔符print()
。
print('bobby', 'hadz', sep='') # 👉️ bobbyhadz print('bobby', 'hadz') # 👉️ bobby hadz
默认情况下,sep
参数设置为空格。
您可以使用该json.dumps()
方法漂亮地打印字典中的键值对。
import json my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } # { # "name": "bobbyhadz", # "age": 30, # "language": "Python" # } print(json.dumps(my_dict, indent=4))
json.dumps方法将 Python 对象转换为 JSON 格式的字符串。
indent
设置为非负整数,则 JSON 数组元素或对象成员将使用指定的缩进级别进行漂亮打印。我们使用了4
空格的缩进级别,但您可以使用任何其他正整数。
在序列化为 JSON 时,您可以将sort_keys
参数设置True
为对字典的键进行排序。
import json my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } # { # "age": 30, # "language": "Python", # "name": "bobbyhadz" # } print(json.dumps(my_dict, indent=4, sort_keys=True))
该sort_keys
参数可用于按键按字母顺序对输出进行排序。
您还可以使用该pprint()
方法漂亮地打印字典中的键值对。
from pprint import pprint my_dict = { 'name': 'bobbyhadz', 'age': 30, 'language': 'Python' } # {'name': 'bobbyhadz', # 'age': 30, # 'language': 'Python'} pprint(my_dict, width=1, sort_dicts=False)
pprint.pprint方法打印对象
的格式化表示。
width
参数1
设置为将每行所需的最大字符数设置为1
。这样,字典中的所有键值对都将打印在不同的行上。
我们还将sort_dicts
参数设置为False
以防止该方法按字母顺序对字典中的键进行排序。
sort_dicts
设置为时False
,字典的项目按插入顺序打印。