如何截断给定长度的 Python 字典?


要截断给定长度的 Python 字典,请使用 itertools 模块。此模块实现了许多受 APL、Haskell 和 SML 中构造启发的迭代器构建块。对于截断到给定长度,我们将使用 itertools 模块的 islice() 方法。

该模块标准化了一组核心快速、内存高效的工具,这些工具本身或组合使用都很有用。它们共同形成了一个迭代器代数,使得能够用纯 Python 简洁高效地构建专门的工具。

语法

以下是语法 -

itertools.islice(sequence, stop)
or
itertools.islice(sequence, start, stop, step)

上面,sequence 参数是要迭代的项目,而 stop 是在特定位置停止迭代。start 是迭代开始的地方。step 有助于跳过项目。islice() 不支持 start、stop 或 step 的负值。

截断给定长度的字典

我们将使用 itertools 模块的 islice() 方法将具有四个键值对的字典截断为两个。项目被截断为两个,与我们设置的参数相同 -

示例

import itertools # Creating a Dictionary with 4 key-value pairs myprod = { "Product":"Mobile", "Model": "XUT", "Units": 120, "Available": "Yes" } # Displaying the Dictionary print("Dictionary =\n",myprod) # Truncating a Dictionary using the islice() myprod = dict(itertools.islice(myprod.items(),2)) # Displaying the Dictionary print("Dictionary after truncating =\n",myprod)

输出

Dictionary =
 {'Product': 'Mobile', 'Model': 'XUT', 'Units': 120, 'Available': 'Yes'}
Dictionary after truncating =
 {'Product': 'Mobile', 'Model': 'XUT'}

在给定范围内截断字典

我们将使用 itertools 模块的 islice() 方法截断具有六个键值对的字典。由于我们设置了 start 和 stop 参数,因此项目在范围内被截断 -

示例

import itertools # Creating a Dictionary with 6 key-value pairs myprod = { "Product":"Mobile", "Model": "XUT", "Units": 120, "Available": "Yes", "Grade": "A", "Rating": "5" } # Displaying the Dictionary print("Dictionary =\n",myprod) # Truncating a Dictionary using the islice() # We have set the parameters start and stop to truncate in a range myprod = dict(itertools.islice(myprod.items(),3,5)) # Displaying the Dictionary print("Dictionary after truncating =\n",myprod)

输出

Dictionary =
 {'Product': 'Mobile', 'Model': 'XUT', 'Units': 120, 'Available': 'Yes', 'Grade': 'A', 'Rating': '5'}
Dictionary after truncating =
 {'Available': 'Yes', 'Grade': 'A'}

通过跳过项目截断字典

我们将使用 itertools 模块的 islice() 方法截断具有六个键值对的字典。由于我们设置了startstop 参数,因此项目在范围内被截断。项目使用step 参数跳过 -

示例

import itertools # Creating a Dictionary with 6 key-value pairs myprod = { "Product":"Mobile", "Model": "XUT", "Units": 120, "Available": "Yes", "Grade": "A", "Rating": "5" } # Displaying the Dictionary print("Dictionary =\n",myprod) # Truncating a Dictionary using the islice() # We have set the parameters start, stop and step to skip items myprod = dict(itertools.islice(myprod.items(),2,5,2)) # Displaying the Dictionary print("Dictionary after truncating =\n",myprod)

输出

Dictionary =
 {'Product': 'Mobile', 'Model': 'XUT', 'Units': 120, 'Available': 'Yes', 'Grade': 'A', 'Rating': '5'}
Dictionary after truncating =
 {'Units': 120, 'Grade': 'A'}

更新于: 2022年8月11日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告