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

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

要截断一个指定长度的 Python 字典,可以使用 itertools 模块。该模块实现了一些受 APL、Haskell 和 SML 构造启发的迭代器构造块。要截断指定长度,我们将使用 itertools 模块的 islice() 方法。

该模块标准化了一组快速、内存有效的工具,这些工具本身或组合后都很有用。一起,它们构成了一个迭代器代数,可以在纯 Python 中简洁高效地构建特定工具。

更多Python相关文章,请阅读:Python 教程

语法

以下是语法-

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

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

在指定长度截断字典

我们将使用 itertools 模块的 islice() 方法将包含四个键值对的字典截断为两个。这些项被截断为两个,并将其作为参数设置-

例子

import itertools

# 使用 4 个键值对创建字典
myprod={
    "Product":"Mobile",
    "Model": "XUT",
    "Units": 120,
    "Available": "Yes"
}

# 显示字典
print("Dictionary =\n",myprod)

# 使用 islice() 截断字典
myprod= dict(itertools.islice(myprod.items(),2))

# 显示字典
print("截断后的字典 =\n",myprod)

输出

Dictionary =
 {'Product': 'Mobile', 'Model': 'XUT', 'Units': 120, 'Available': 'Yes'}
截断后的字典 =
 {'Product': 'Mobile', 'Model': 'XUT'}

在指定范围截断字典

我们将使用 itertools 模块的 islice() 方法将包含六个键值对的字典截断。这些项是在范围内被截断的,因为我们设置了 start 和 stop 参数-

例子

import itertools

# 创建一个有6个键值对的字典
myprod = {
    "Product":"手机",
    "Model": "XUT",
    "Units": 120,
    "Available": "是",
    "Grade": "A",
    "Rating": "5"
}

# 显示字典
print("字典 =\n",myprod)

# 使用islice()函数截取字典
# 我们设置了开始和结束的参数来截取字典
myprod = dict(itertools.islice(myprod.items(),3,5))

# 显示字典
print("截取后的字典 =\n",myprod)

输出

字典 =
 {'Product': 'Mobile', 'Model': 'XUT', 'Units': 120, 'Available': 'Yes', 'Grade': 'A', 'Rating': '5'}
截取后的字典 =
 {'Available': 'Yes', 'Grade': 'A'}

通过跳过项目来截取字典

我们将使用itertools模块的islice()函数截取一个具有六个键值对的字典。由于我们设置了 开始结束 参数,因此会在一个范围内截取字典。使用 步长 参数来跳过项目 −

例子

import itertools
# 创建一个有6个键值对的字典
myprod = {
    "Product":"手机",
    "Model": "XUT",
    "Units": 120,
    "Available": "是",
    "Grade": "A",
    "Rating": "5"
}

# 显示字典
print("字典 =\n",myprod)

# 使用islice()函数截取字典
# 我们设置了开始、结束和步长来跳过项目
myprod = dict(itertools.islice(myprod.items(),2,5,2))

# 显示字典
print("截取后的字典 =\n",myprod)

输出

字典 =
 {'Product': 'Mobile', 'Model': 'XUT', 'Units': 120, 'Available': 'Yes', 'Grade': 'A', 'Rating': '5'}
截取后的字典 =
 {'Units': 120, 'Grade': 'A'}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程