在 Python 中仅打印字典的一部分
Print only a part of a dictionary in Python
只打印字典的一部分:
- 使用该
dict.items()
方法获取字典项目的视图。 - 将视图转换为列表并使用列表切片来获取字典的一部分。
- 使用
print()
函数打印结果。
主程序
my_dict = { 'id': 1, 'age': 30, 'salary': 100, 'name': 'bobbyhadz', 'language': 'Python' } result = dict(list(my_dict.items())[0:3]) print(result) # 👉️ {'id': 1, 'age': 30, 'salary': 100}
dict.items方法返回字典
项((键,值)对)的新视图。
主程序
my_dict = {'id': 1, 'name': 'BobbyHadz'} print(my_dict.items()) # 👉️ dict_items([('id', 1), ('name', 'BobbyHadz')])
我们使用
list()
该类将视图对象转换为列表,并使用列表切片来选择字典中的前 3 个项目。列表切片的语法是my_list[start:stop:step]
.
start
索引是包含的,索引stop
是排他的(最多,但不包括)。
Python 索引是从零开始的,因此列表中的第一项的索引为0
,最后一项的索引为-1
或len(my_list) - 1
。
如果您需要从字典中排除某些键并打印结果,请使用字典理解。
主程序
my_dict = { 'id': 1, 'age': 30, 'salary': 100, 'name': 'bobbyhadz', 'language': 'Python' } def exclude_keys(dictionary, keys): return { key: value for key, value in dictionary.items() if key not in keys } result = exclude_keys(my_dict, ['id', 'age']) # 👇️ {'salary': 100, 'name': 'bobbyhadz', 'language': 'Python'} print(result)
我们使用字典理解来遍历字典的项目并排除指定的键。
字典理解与列表理解非常相似。
他们对字典中的每个键值对执行一些操作,或者选择满足条件的键值对的子集。
如果您只需要选择特定的键值对,您可以调整字典理解。
主程序
my_dict = { 'id': 1, 'age': 30, 'salary': 100, 'name': 'bobbyhadz', 'language': 'Python' } def include_keys(dictionary, keys): return { key: value for key, value in dictionary.items() if key in keys } result = include_keys(my_dict, ['id', 'age', 'name']) print(result) # 👉️ {'id': 1, 'age': 30, 'name': 'bobbyhadz'}
该include_keys()
函数接受一个字典和一个键列表,并返回一个仅包含指定键值对的新字典。
您还可以使用该itertools.islice()
方法仅打印字典的一部分。
主程序
from itertools import islice my_dict = { 'id': 1, 'age': 30, 'salary': 100, 'name': 'bobbyhadz', 'language': 'Python' } result = dict(islice(my_dict.items(), 0, 3)) print(result) # 👉️ {'id': 1, 'age': 30, 'salary': 100}
itertools.islice
方法接受一个可迭代对象和start
andstop
索引,并从可迭代对象中返回指定的元素。
这种方法与列表切片示例非常相似,但对于较大的列表来说性能更高一些。