如何删除具有相同字母的列表列表?

时间:2017-10-06 12:39:20

标签: python list

我得到了这份清单清单

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']]

并且在列表的每个列表中都有带有相似字母的列表。在这个例子中,它是'front'。我想删除具有相似字母的列表,保留具有较大数字的列表并删除具有较小数字的字符串号。

输出应该是:

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']]

订单无关紧要

1 个答案:

答案 0 :(得分:0)

如果您想要分别为每个列表列表分别应用您的流程,我真的不明白,但如果您这样做是一个解决方案:

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()]