如何在python中用另一个数组中的每一项迭代数组中的每一项?

2024-04-26 18:08:54 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我想用另一个数组迭代一个数组。例如,对于列表1中的每个项目,将其替换为列表2中的每个项目。你知道吗

list1 = ['physics', 'chemistry', 1997, 2000];

list2 = [1, 2, 3, 4, 5, 6, 7 ];

打印输出:

1 chemistry 1997 2000
2 chemistry 1997 2000
...
physics 1 1997 2000
physics 2 1997 2000
...
physics chemistry 1 2000
physics chemistry 2 2000

我怎么写这样的东西?你知道吗

谢谢


Tags: 项目列表数组chemistrylist2physics打印输出list1
2条回答

对于那些需要这样东西的人,以下是代码:

l = [1,2,3,4,5]
letters = [‘a’, ‘b’, ‘c’]

for i in range(len(l)):
  for ch in letters:
    ll = l[0:i]
    ll.append(ch)
    ll += l[i+1:]
    print ll



**Output:**       
['a', 2, 3, 4, 5]
['b', 2, 3, 4, 5]
['c', 2, 3, 4, 5]
[1, 'a', 3, 4, 5]
[1, 'b', 3, 4, 5]
[1, 'c', 3, 4, 5]
[1, 2, 'a', 4, 5]
[1, 2, 'b', 4, 5]
[1, 2, 'c', 4, 5]
[1, 2, 3, 'a', 5]
[1, 2, 3, 'b', 5]
[1, 2, 3, 'c', 5]
[1, 2, 3, 4, 'a']
[1, 2, 3, 4, 'b']
[1, 2, 3, 4, 'c']

循环遍历list2中的项,然后遍历list1中的位置:

for item in list2:
    for position in range(len(list1)):
        print(list1[:position] + [item] + list1[position + 1:])

输出:

[1, 'chemistry', 1997, 2000]
['physics', 1, 1997, 2000]
['physics', 'chemistry', 1, 2000]
...
['physics', 'chemistry', 1997, 4]
[5, 'chemistry', 1997, 2000]
['physics', 5, 1997, 2000]
...
['physics', 7, 1997, 2000]
['physics', 'chemistry', 7, 2000]
['physics', 'chemistry', 1997, 7]

相关问题 更多 >