Python 中打印字典中的所有键值对
要打印字典中的所有键值对:
-
使用
dict.items()
方法获取字典项目的视图。 -
使用
for
循环遍历视图。 -
使用
print()
函数打印每个键值对。
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
for key, value in my_dict.items():
# name jiyik
# age 30
# language Python
print(key, value)
print(list(my_dict.keys())) # 👉️ ['name', 'age', 'language']
print(list(my_dict.values())) # 👉️ ['jiyik', 30, 'Python']
dict.items
方法返回字典项((键,值)对)的新视图。
# 👇️ [('name', 'jiyik'), ('age', 30), ('language', 'Python')]
print(list(my_dict.items()))
如果我们需要以任何方式格式化键和值,请使用格式化字符串文字。
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
for key, value in my_dict.items():
# name=jiyik
# age=30
# language=Python
print(f'{key}={value}')
格式化字符串文字
f-strings
让我们通过在字符串前加上 f 来在字符串中包含表达式。
var1 = 'fql'
var2 = 'jiyik'
result = f'{var1}{var2}'
print(result) # 👉️ fqljiyik
确保将表达式用大括号括起来 - {expression}
。
我们可以使用 dict.keys()
和 dict.values()
方法来打印字典的键和值。
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
print(list(my_dict.keys())) # 👉️ ['name', 'age', 'language']
print(list(my_dict.values())) # 👉️ ['jiyik', 30, 'Python']
dict.keys
方法返回字典键的新视图。
dict.values
方法返回字典值的新视图。
如果我们需要将字典的键值对连接成一个字符串,请使用
str.join()
方法。
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
result = ', '.join(f'{key}: {value}' for key, value in my_dict.items())
# 👇️ name: jiyik, age: 30, language: Python
print(result)
我们将生成器表达式传递给 str.join()
方法。
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们使用格式化的字符串文字来格式化键值对。
str.join
方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
调用该方法的字符串用作元素之间的分隔符。
我们使用逗号和空格作为键值对之间的分隔符,但您可以使用任何其他分隔符。
下面是一个使用换行符
(\n)
作为分隔符的示例。
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
result = '\n'.join(f'{key}: {value}' for key, value in my_dict.items())
# name: jiyik
# age: 30
# language: Python
print(result)
当与换行符 \n
字符分隔符连接时,字典的键值对打印在单独的行上。
我们还可以使用可迭代的 *
解包运算符和 sep 参数来打印字典中的所有键值对。
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
# ('name', 'jiyik')
# ('age', 30)
# ('language', 'Python')
print(*my_dict.items(), sep='\n')
*
可迭代解包运算符使我们能够在函数调用、推导式和生成器表达式中解包可迭代对象。
sep 参数是我们传递给 print()
的参数之间的分隔符。
print('fql', 'jiyik', sep='') # 👉️ fqljiyik
print('fql', 'jiyik') # 👉️ fql jiyik
默认情况下,sep 参数设置为空格。
我们可以使用 json.dumps()
方法漂亮地打印字典中的键值对。
import json
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
# {
# "name": "jiyik",
# "age": 30,
# "language": "Python"
# }
print(json.dumps(my_dict, indent=4))
json.dumps
方法将 Python 对象转换为 JSON 格式的字符串。
如果
indent
设置为非负整数,则 JSON 数组元素或对象成员将使用指定的缩进级别进行漂亮打印。
我们使用 4 个空格的缩进级别,但您可以使用任何其他正整数。
我们可以将 sort_keys
参数设置为 True 以在序列化为 JSON 时对字典的键进行排序。
import json
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
# {
# "age": 30,
# "language": "Python",
# "name": "jiyik"
# }
print(json.dumps(my_dict, indent=4, sort_keys=True))
sort_keys
参数可用于按键按字母顺序对输出进行排序。
我们还可以使用 pprint()
方法漂亮地打印字典中的键值对。
from pprint import pprint
my_dict = {
'name': 'jiyik',
'age': 30,
'language': 'Python'
}
# {'name': 'jiyik',
# 'age': 30,
# 'language': 'Python'}
pprint(my_dict, width=1, sort_dicts=False)
pprint.pprint
方法打印对象的格式化表示。
我们将宽度参数设置为 1,以将每行所需的最大字符数设置为 1。
这样,字典中的所有键值对都将打印在不同的行上。
我们还将 sort_dicts
参数设置为 False 以防止该方法按字母顺序对字典中的键进行排序。
当 sort_dicts
设置为 False 时,字典的项目按插入顺序打印。
相关文章
在 C 语言中实现字典
发布时间:2023/05/07 浏览次数:196 分类:C语言
-
本文介绍了如何在 C 语言中实现字典。使用 hcreate、hsearch 和 hdestroy 在 C 语言中实现字典功能
Python for 循环中的下一项
发布时间:2023/04/26 浏览次数:179 分类:Python
-
本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。
Python While 循环用户输入
发布时间:2023/04/26 浏览次数:148 分类:Python
-
我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。
在 Python 中将整数转换为罗马数字
发布时间:2023/04/26 浏览次数:87 分类:Python
-
本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。
在 Python 中将罗马数字转换为整数
发布时间:2023/04/26 浏览次数:144 分类:Python
-
本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。
在 Python 中读取 gzip 文件
发布时间:2023/04/26 浏览次数:70 分类:Python
-
本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。
在 Python 中锁定文件
发布时间:2023/04/26 浏览次数:141 分类:Python
-
本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等
在 Python 中将 PDF 转换为文本
发布时间:2023/04/26 浏览次数:196 分类:Python
-
在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。