将2个元素分配给同一个子索引

时间:2015-04-09 03:59:48

标签: python list

我有3个列表:

mylist1 = []
mylist2 = []
mylist3 = []

如果我想将mylist2的2个元素放到同一个子索引中,并将mylist3的2个元素放到同一个子索引中,我该怎么做?

例如:

mylist1 = [1,2,3]
mylist2 = [[a,b],[c,d],[e,f]]
mylist3 = [[g,h],[i,j],[k,l]]

所以它打印出这样的东西:

1 a g
  b h
2 c i
  d j
3 e k
  f l

2 个答案:

答案 0 :(得分:3)

是的,你可以。您必须将剩余的两个列表元素转换为成对,然后使用您的第一个列表来索引生成的转置结果

实施

list_tran = [zip(a, b) for a, b in zip(mylist2, mylist3)]
for index in mylist1:
    print index, list_tran[index - 1][0]
    print list_tran[index - 1][1]

答案 1 :(得分:0)

您可以使用以下示例代码:

for i in range(len(mylist1)):
    print mylist1[i],mylist2[i][0],mylist3[i][0]
    print " ",mylist2[i][1],mylist3[i][1]