如何通过明智地选择项目索引从 2 个列表创建子列表

How to create a sublist from 2 lists by selecting their items index wise

我有一个 list1=[1,2,3,3,4] 和另一个 list2=[2,4,5,6,7]。 我要生产 list3=[[1,2],[2,4],[3,5],[3,6],[4,7]]

n=int(input())
ls=[]
ls1=[]
ls2=[]
ls3=[]
ls=list(map(int,input().split()))
ls1=list(map(int,input().split()))
for i in ls:
    for j in ls1:
        if i==j
            a=ls.index(i)
            b=ls1.index(j)
            ls2.apppend(a)
            ls3.append(b)
ls4=[i,j for i,j in zip(ls2,ls3)]

只需使用 zip 方法并对其应用 列表理解

pairs = [list(pair) for pair in zip(a,b)]

使用list构造函数因为zip方法returns元组.

尝试

list3 = []
for i in range(len(list1)):
    list3.append([list1[i], list2[i]])

或者,上面代码的列表综合版本为

list4 = [[list1[i], list2[i]] for i in range(len(list1))]

两者都会输出

[[1, 2], [2, 4], [3, 5], [3, 6], [4, 7]]