如何解决我可以在 itertools 列表中添加一个变量名吗?
这将打印所有可能的组合:
import itertools
iterables = [[0,1,2],["3","46","5"]]
for item in itertools.product(*iterables,repeat=1):
print(item)
喜欢:
0,3
0,46
0,5
1,3
etc.
假设“A”的值为[0,2]
,“B”的值为["3","5]
,
我可以修改打印的代码吗:
A 0
B 3
A 0
B 46
A 1
B 3
等等?
或者任何其他方式,其中变量名称也是结果的一部分?
非常感谢。
解决方法
将元组列表展平,并使用重复的显式变量名称序列对其进行压缩。
from itertools import chain,cycle,product
for var,value in zip(cycle(["A","B"]),chain.from_iterable(product(*iterables))):
print(var,value)
chain.from_iterable
将 (x,y),(x,y)
之类的东西变成 x,y,x,y
。 cycle([x,y])
产生 x,...
。循环是无限的,但 zip
只消耗耗尽扁平化产品序列所需的量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。