Skip to main content
 首页 » 编程设计

python之如何根据索引同时遍历多个列表的项目

2025年05月04日10mate10pro

我想听听您关于解决多个列表上的循环问题的想法。我有多个不同长度的列表,例如: ['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']