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()方法来截断一个包含六对键值对的字典。由于我们已经设置了开始和结束参数,因此项目将在一个范围内被截断 –
示例
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()方法来截断一个包含六个键值对的字典。由于我们设置了 start 和 stop 参数,所以项目被截断在一个范围内。使用 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'}