gpt4 book ai didi

python - 从每个列表中获取一个元素,随机数量的列表

转载 作者:行者123 更新时间:2023-12-04 09:40:44 25 4
gpt4 key购买 nike

我想创建一个函数来从每个列表中获取一个数字并创建可能的数字组合。不知道每次会出现多少个列表...例如:

获取 4 个列表:x1, x2, x3 and x4 ,我需要得到输出:
(x1[0], x1[0], x1[0], x1[0]), (x1[0], x1[0], x1[0], x1[1]), (x1[0], x1[0], x1[0], x1[2])...或任何其他格式。

我知道如何使用 for 从特定数量的列表中获取它环形:

for i in range(len(x1)):
for j in range(len(x2)):
etc ...

但是当列表的数量是随机的时我怎么能得到它?

谢谢

最佳答案

itertools.product正是这样做的。它需要可变数量的参数,所以我们可以使用 *lists将我们的列表列表解包为每个列表的一个参数:

>>> import itertools
>>> x1 = ['f', 'g', 't']
>>> x2 = ['a', 'e', 'o']
>>> x3 = ['t', 'd', 'r']
>>> lists = [x1, x2, x3]
>>> list(itertools.product(*lists))
[('f', 'a', 't'), ('f', 'a', 'd'), ('f', 'a', 'r'), ('f', 'e', 't'), ('f', 'e', 'd'), ('f', 'e', 'r'), ('f', 'o', 't'), ('f', 'o', 'd'), ('f', 'o', 'r'), ('g', 'a', 't'), ('g', 'a', 'd'), ('g', 'a', 'r'), ('g', 'e', 't'), ('g', 'e', 'd'), ('g', 'e', 'r'), ('g', 'o', 't'), ('g', 'o', 'd'), ('g', 'o', 'r'), ('t', 'a', 't'), ('t', 'a', 'd'), ('t', 'a', 'r'), ('t', 'e', 't'), ('t', 'e', 'd'), ('t', 'e', 'r'), ('t', 'o', 't'), ('t', 'o', 'd'), ('t', 'o', 'r')]

关于python - 从每个列表中获取一个元素,随机数量的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62347189/

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