嵌套列表等值附加

时间:2015-02-26 01:58:32

标签: python list

我有一个这样的嵌套列表。

 [['a','g','c'],['e','c','g']...]

我试图查看第三个条目是否等于列表中的第二个条目。如果是,我想返回该列表中的第一个条目。因此,由于列表1中的第3个条目是c,我想在所有列表中的第二个条目中查找c。由于列表2在第二个条目中具有相应的值,我想返回e,然后将其附加到嵌套列表1.有多个列表,并且想要对所有列表执行此操作。

所以

 [['a','g','c','e']...]]

2 个答案:

答案 0 :(得分:2)

您可以尝试下面的内容,

>>> l = [['a','g','c'],['e','c','g']]
>>> i = l[0][2]                      # stores the value of 2nd index of l[0] to the variable i
>>> m = l[0]                         # assigns the 0th index of l to m
>>> for j in l[1:]:
        if i == j[1]:
            m.append(j[0])


>>> m
['a', 'g', 'c', 'e']

一个复杂的例子。

>>> l = [['a','g','c'],['e','c','g'], ['m','c','g'], ['j','c','g'], ['k','f','g'], ['p','c','g']]
>>> i = l[0][2]
>>> m = l[0]
>>> for j in l[1:]:
        if i == j[1]:
            m.append(j[0])

>>> m
['a', 'g', 'c', 'e', 'm', 'j', 'p']

答案 1 :(得分:0)

k=[['a','g','c'],['e','c','g'],['m','c','g'],['j','c','g'],['k','f','g'],['p','g','k']]


print [x+y[:1] for x,y in zip(k,k[1:]) if x[2]==y[1]]

试试这个。