我有一个下面的python嵌套列表
[[text1, data1, text2][text2, data2, text3][text5, data4, text6][text3, data3, text4]]
我想将其转换为
[[text1, data1, text2, data2, text3, data3, text4][text5,data4,text6]]
基本上,如果第一个列表的最后一个值与任何其他列表的第一个值相同,则应该将其合并。
有没有一种简单的方法可以做到这一点,或者我必须使用条件循环遍历列表并附加它?
l = [["text1", "data1", "text2"],["text2", "data2", "text3"],["text5", "data4", "text6"],["text3", "data3", "text4"]]
d = dict()
for each in l:
d[each[0]] = each[1:]
final = []
keys = list(d.keys())
while len(keys)>0:
start = keys[0]
l_list = []
while start in d:
l_list+= [start] + d[start]
keys.remove(start)
start = l_list.pop()
l_list+=[start]
final.append(l_list)
print(final)
输出: [['text1', 'data1', 'text2', 'data2', 'text3', 'data3', 'text4'], ['text5', 'data4', 'text6']]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句