Python 中打印字典中的所有键值对的示例详解

 更新时间:2023年03月17日 09:44:27   作者:迹忆客  
这篇文章主要介绍了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 时,字典的项目按插入顺序打印。

到此这篇关于Python 中打印字典中的所有键值对的文章就介绍到这了,更多相关Python打印字典键值对内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python中正则表达式详解

    Python中正则表达式详解

    Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,Python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配。
    2017-05-05
  • PyPDF2读取PDF文件内容保存到本地TXT实例

    PyPDF2读取PDF文件内容保存到本地TXT实例

    这篇文章主要介绍了PyPDF2读取PDF文件内容保存到本地TXT实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 基于python代码实现简易滤除数字的方法

    基于python代码实现简易滤除数字的方法

    今天小编就为大家分享一篇基于python代码实现简易滤除数字的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • PyQt QMainWindow的使用示例

    PyQt QMainWindow的使用示例

    这篇文章主要介绍了PyQt QMainWindow的使用示例,帮助大家更好的理解和学习使用pyqt,感兴趣的朋友可以了解下
    2021-03-03
  • python多线程调用exit无法退出的解决方法

    python多线程调用exit无法退出的解决方法

    今天小编就为大家分享一篇python多线程调用exit无法退出的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • Python正则表达式 r'(.*) are (.*?) .*'的深入理解

    Python正则表达式 r'(.*) are (.*?) .*'的深入理解

    日常的开发工作中经常会有处理字符串的需求,简单的字符串处理,我们使用python内置的字符串处理函数就可以了,但是复杂的字符串匹配就需要借助正则表达式了,这篇文章主要给大家介绍了关于Python正则表达式 r‘(.*) are (.*?) .*‘的相关资料,需要的朋友可以参考下
    2022-07-07
  • 关于Pyinstaller闪退的补救措施

    关于Pyinstaller闪退的补救措施

    这篇文章主要介绍了关于Pyinstaller闪退的补救措施,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python循环取数组的值的方法实现

    Python循环取数组的值的方法实现

    本文主要介绍了两种Python中遍历数组的方法,for循环和索引,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • python 3.6.2 安装配置方法图文教程

    python 3.6.2 安装配置方法图文教程

    这篇文章主要为大家详细介绍了python 3.6.2 安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 基于Python实现二维图像双线性插值

    基于Python实现二维图像双线性插值

    双线性插值,又称为双线性内插。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。本文将用Python实现二维图像双线性插值,感兴趣的可以了解下
    2022-06-06

最新评论