如何通过明智地选择项目索引从 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]]
我有一个 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]]