我有多个这样的列表
[100,200,100,1,ASD1]
[200,350,150,2,ASD2]
[300,400,120,3,ASD1]
[400,500,130,4,ASD2]
我想根据列表的最后一个值加入列表。
[[100,200,100,1,ASD1],[300,400,120,3,ASD1]]
[[200,350,150,2,ASD2],[400,500,130,4,ASD2]]
如何加入这样的列表。如果有人知道请帮助我。
答案 0 :(得分:3)
使用defaultdict
个列表:
from collections import defaultdict
data = [[100,200,100,1,'ASD1'],
[200,350,150,2,'ASD2'],
[300,400,120,3,'ASD1'],
[400,500,130,4,'ASD2']]
dd = defaultdict(list)
for item in data:
dd[item[-1]].append(item)
res = list(dd.values())
print(res)
# [[[100, 200, 100, 1, 'ASD1'], [300, 400, 120, 3, 'ASD1']],
# [[200, 350, 150, 2, 'ASD2'], [400, 500, 130, 4, 'ASD2']]]
答案 1 :(得分:2)
您可以执行以下操作:
答案 2 :(得分:0)
mydict = {}
data = [[100,200,100,1,'ASD1'],
[200,350,150,2,'ASD2'],
[300,400,120,3,'ASD1'],
[400,500,130,4,'ASD2']]
for i in data:
if i[-1] in mydict:
mydict[i[-1]].append(i)
else:
mydict[i[-1]] = [i]
mydict.values()
#for python 3
#list(mydict.values())
#OUTPUT:[[[100, 200, 100, 1, 'ASD1'], [300, 400, 120, 3, 'ASD1']], [[200, 350,
#150,2,'ASD2'], [400, 500, 130, 4, 'ASD2']]]