有一个像
这样的列表[
[name, title, amount, 'en', category],
[name, title, amount, 'en', category],
[name, title, amount, 'it', category],
[name, title, amount, 'it', category],
[name, title, amount, 'it', category],
[name, title, amount, 'es', category],
]
我想按语言对列表进行划分和分组。 例如,下面的列表将是
[
[name, title, amount, 'en', category],
[name, title, amount, 'en', category]
]
[
[name, title, amount, 'it', category],
[name, title, amount, 'it', category],
[name, title, amount, 'it', category]
]
[
[name, title, amount, 'es', category]
]
如果它是字典或列表或元组并不重要。我希望它快。
然后对于按语言划分的任何分组数组,我想按类别对它们进行分组。 我的问题是我事先并不知道不同的语言和类别,因此我考虑在整个列表之前扫描以记录所有不同的语言和类别,然后对每个人使用列表理解。但我很确定它不是一种有效的方法
答案 0 :(得分:1)
我希望这可能对你有所帮助:
def getMap(data,index):
res = {}
for v in data:
if(v[index] in res):
res[v[index]].append(v)
else:
res[v[index]] = [v]
return res
print(getMap(a,3))