[英]Python: Merging lists with lists
我有一个清单:
packets=[['B', 'A'], ['B', 'C'], ['A', 'D'], ['C', 'D'], ['C', 'E'], ['D', 'E'], []]
我在同一列表上有两个for循环,例如:
for a in packets[:]:
for b in packets[:]:
即,每次a=['B','A']
b
从['B','A']
一直迭代到['D','E']
。 这就是我想做的:
如果最后一个元素a
等于所述第一元件b
即,当a=['B','A']
和b=['A','D']
我必须['B','A','D']
。 同样, ['B','A','D']
的最后一个元素等于['D','E']
的第一个元素。 因此,现在我必须具有['B','C','D','E']
。
类似地,当A=['B','C']
和b=['C','E']
我必须具有['B','C','E']
。 当A=['B','C']
和b=['C','D']
并且b=['D','E']
我必须具有['B','C','D','E']
等。
有任何想法吗?
不确定这是否是您想要的,但是
>>> packets=[['B', 'A'], ['B', 'C'], ['A', 'D'], ['C', 'D'], ['C', 'E'], ['D', 'E'], []]
>>>
>>> for a in packets:
... for b in packets:
... if a and b and a[-1]==b[0]:
... print a[:-1]+b
... packets.append(a[:-1]+b)
...
['B', 'A', 'D']
['B', 'C', 'D']
['B', 'C', 'E']
['A', 'D', 'E']
['C', 'D', 'E']
['B', 'A', 'D', 'E']
['B', 'C', 'D', 'E']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.