我有一個列表的列表組列表
list1 = [['1997', 0.56], ['1998', 0.62], ['1997', 0.78], ['1998', 0.23]]
我需要將它們分組,以便新的名單看起來像:
list2 = [['1997',0.56,0.78], ['1998', 0.62, 0.23]]
我怎樣才能做到這一點使用蟒蛇?
我有一個列表的列表組列表
list1 = [['1997', 0.56], ['1998', 0.62], ['1997', 0.78], ['1998', 0.23]]
我需要將它們分組,以便新的名單看起來像:
list2 = [['1997',0.56,0.78], ['1998', 0.62, 0.23]]
我怎樣才能做到這一點使用蟒蛇?
您可以在list comprehension
內使用groupby
從itertools
模塊這樣的例子:
from itertools import groupby
list1 = [['1997', 0.56], ['1998', 0.62], ['1997', 0.78], ['1998', 0.23]]
result = [[k] + [j[1] for j in list(v)] for k,v in groupby(sorted(list1, key=lambda x: x[0]), lambda x: x[0])]
print(result)
輸出:
[['1997', 0.56, 0.78], ['1998', 0.62, 0.23]]
這是否只工作,如果我只有一個項目列表中,如果我有超過1第 列表1 = [['1997',0.56,0.67],['1998',0.62,0.23],['1997',0.78,0.65],['1998',0.23,0.51]] – StarLord
Yes this如果您的子列表中只有2個元素,答案將起作用。如果您需要其他解決方案或擴展程序,請修改您的問題並添加新的查詢,然後立即通知我。我將編輯我的答案以解決您的新問題。 –
編輯向我們展示了到目前爲止你已經嘗試過什麼問題。 –
相關:https://stackoverflow.com/questions/39650110/group-list-of-tuples-by-item –