2017-10-06 61 views
-1

我拿到名单如何从相同的字母表中删除列表的列表?

A=[[[0, 'a'], [2, 'g'], [9, 'Q'], [12, 'front'], [0, 'Z'], [0, 'w'], [2, 'front'], [0, 'Z']], [[2, 'a'], [0, 'c'], [0, 'g'], [15, 'w'], [2, 'Q'], [12, 'front'], [0, 'Z'], [2, 'front'], [0, 'Z']] 

,并在那里与alphabets.In这个例子类似的名单列表中的每个列表的列表这个名单,它是“front'.I想用类似的字母删除列表,保留较大号码的号码并删除号码较小的号码。

输出应该是这样的:

A=[[[0, 'a'], [2, 'g'], [9, 'Q'], [12, 'front'], [0, 'Z'], [0, 'w'], [0, 'Z']], [[2, 'a'], [0, 'c'], [0, 'g'], [15, 'w'], [2, 'Q'], [12, 'front'], [0, 'Z'],[0, 'Z']] 

顺序并不重要

回答

0

我,如果你想有申请列表中的每个列表中选择过程separatly与否真的不明白,但如果你在这里做的是一个解决方案:

for i, list_dict in enumerate(A): 
    uni_dict = {} 
    for value, key in list_dict: 
     if key in uni_dict: 
     uni_dict[key] = max(uni_dict[key], value) 
     else: 
     uni_dict[key] = value 

    A[i] = [[value, key] for key, value in uni_dict.iteritems()] 
+0

是的,我必须分别适用于每个项目的过程。但错误说,字典对象没有属性iteritems? –

+0

您正在使用哪个版本的Python? – Laurentourte

+0

我将其更改为dict.items,但它输出与输入相同的列表? –