gpt4 book ai didi

python - itertools.combinations 做出的保证是什么?

转载 作者:太空狗 更新时间:2023-10-29 18:29:21 25 4
gpt4 key购买 nike

itertools.combinations 的文档状态:

Combinations are emitted in lexicographic sort order. So, if the input iterable is sorted, the combination tuples will be produced in sorted order.

Elements are treated as unique based on their position, not on their value. So if the input elements are unique, there will be no repeat values in each combination.

[强调我的]

这里做出的确切保证是什么?经验检查表明,元素总是像

for i in range(len(iterable)):
for j in range(i + 1, len(iterable)):
for k in range(j + 1, len(iterable)):
...
yield iterable[i], iterable[j], iterable[k], ...

在这种情况下,“词典顺序”是什么意思?特别是,我认为强调的句子是至关重要的,但我不是100%的联系是什么。我认为这意味着词典顺序应用于元素的索引而不考虑值,但我希望有人证实这一点。

最佳答案

将这些段落从计算机科学翻译成英语:

Combinations are emitted in lexicographic sort order. So, if the input iterable is sorted, the combination tuples will be produced in sorted order.

这里的“词典”是一个数学术语,并不是指按字母顺序,而是“按词典定义的任何顺序”。

early 17th century: modern Latin, from Greek lexikon (biblion) ‘(book) of words’, from lexis ‘word’, from legein ‘speak’.

此处的“词典”是您的输入。简而言之,您的输入定义了生成输出的顺序。如果您想要按字母顺序排序的输出,请对您的输入进行排序。

Elements are treated as unique based on their position, not on their value. So if the input elements are unique, there will be no repeat values in each combination.

这只是说 combinations 不会查看或关心实际值本身,它只是根据元素的位置组合元素。它不会根据值进行重复数据删除,它会删除位置组合的重复数据。如果您想要独特的组合,请对您的输入进行重复数据删除。

关于python - itertools.combinations 做出的保证是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53112861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com