在python中根据列表的最后一个值和第一个值附加嵌套列表

2024-09-30 02:15:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个下面的列表

[[text1, data1, text2][text2, data2, text3][text5, data4, text6][text3, data3, text4]]

我想把这个转换成

[[text1, data1, text2, data2, text3, data3, text4][text5,data4,text6]]

基本上,如果第一个列表的最后一个值与任何其他列表的第一个值相同,则应该将其合并

有没有一个简单的方法来做这件事,或者我必须通过一个条件循环列表并附加它


Tags: 方法列表条件text1data1data2text2data3
1条回答
网友
1楼 · 发布于 2024-09-30 02:15:12
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']]

相关问题 更多 >

    热门问题