gpt4 book ai didi

python - random.sample(sample,k) 和 itertools.combinations(p,r) 之间的区别

转载 作者:行者123 更新时间:2023-12-01 06:24:39 28 4
gpt4 key购买 nike

你好,我是 python 新手,刚刚开始编写基本的 python 脚本。我决定编写一个密码生成器程序。我遇到了 random.sample() 和 itertools.combinations() 函数。我想知道它们之间的区别。我已阅读文档并得出以下结论:
1.random.sample() 将从总体中返回唯一组合的列表,前提是总体中没有重复值。
2.combinations() 还将返回 (p,r) 可能组合的元组,其中 r 是长度。并且有这一行,“元素根据其位置被视为唯一,而不是它们的值。因此,如果输入元素是唯一的,则每个组合中都不会出现重复值。”,我不明白。我认为它说输入元素必须是唯一的才能获得唯一的组合

所以我得出的最终结论是两者是相同的。我想知道我是对还是错(请解释)。谢谢。

最佳答案

它们不一样,实际上它们做完全不同的事情。 itertools.combinations() 是一个生成器 - 它返回一组给定值的所有组合的序列。 random.sample() 提供一种(随机选择的)组合。运行这两个片段:

import random
print(random.sample([1,2,3], 2))

import itertools
for c in itertools.combinations([1,2,3],2):
print(c)

并注意差异。

关于python - random.sample(sample,k) 和 itertools.combinations(p,r) 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60222992/

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