我想听听您关于解决多个列表上的循环问题的想法。我有多个不同长度的列表,例如: ['dog','cat'], [5,45,8,9], ['yellow','blue','black']。
我希望能够像这样访问这些列表的元素:
1. ['dog', 5, 'yellow']
2. ['dog', 5, 'blue']
3. ['dog', 5, 'black']
4. ['dog', 45, 'yellow']
5. ['dog', 45, 'blue']
6. ['dog', 45, 'black']
7. ['dog', 8, 'yellow']
8. ['dog', 8, 'blue']
9. ['dog', 8, 'black']
10. ['dog', 9, 'yellow']
11. ['dog', 9, 'blue']
12. ['dog', 9, 'black']
13. ['cat', 5, 'yellow']
14. ['cat', 5, 'blue']
15. ['cat', 5, 'black']
16. ['cat', 45, 'yellow']
17. ['cat', 45, 'blue']
18. ['cat', 45, 'black']
19. ['cat', 8, 'yellow']
20. ['cat', 8, 'blue']
21. ['cat', 8, 'black']
22. ['cat', 9, 'yellow']
23. ['cat', 9, 'blue']
24. ['cat', 9, 'black']
谢谢。我必须重新发布它,因为格式使它变得笨拙且有点不可读
请您参考如下方法:
你正在寻找 itertools.product:
>>> from itertools import product
>>> animal = ['dog','cat']
>>> number = [5,45,8,9]
>>> color = ['yellow','blue','black']
for i,p in enumerate(product(animal, number, color),1):
print "{}. {}".format(i,str(list(p)))
...
1. ['dog', 5, 'yellow']
2. ['dog', 5, 'blue']
3. ['dog', 5, 'black']
4. ['dog', 45, 'yellow']
5. ['dog', 45, 'blue']
6. ['dog', 45, 'black']
7. ['dog', 8, 'yellow']
8. ['dog', 8, 'blue']
9. ['dog', 8, 'black']
10. ['dog', 9, 'yellow']
11. ['dog', 9, 'blue']
12. ['dog', 9, 'black']
13. ['cat', 5, 'yellow']
14. ['cat', 5, 'blue']
15. ['cat', 5, 'black']
16. ['cat', 45, 'yellow']
17. ['cat', 45, 'blue']
18. ['cat', 45, 'black']
19. ['cat', 8, 'yellow']
20. ['cat', 8, 'blue']
21. ['cat', 8, 'black']
22. ['cat', 9, 'yellow']
23. ['cat', 9, 'blue']
24. ['cat', 9, 'black']
