繁体   English   中英

Python:将列表与列表合并

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM