from collections import defaultdictlists = [['apple', 'window', 'pear', 2, 1.55, 'banana'],['apple', 'orange', 'kiwi', 3, 1.80, 'banana'],['apple', 'envelope', 'star_fruit', 2, 1.55, 'banana'],['apple', 'orange', 'pear', 2, 0.80, 'coffee_cup'],['apple', 'orange', 'pear', 2, 3.80, 'coffee_cup']]dic = defaultdict(int)fts = []for lst in lists: first_third = lst[0], lst[2] dic[first_third] += 1 if dic[first_third] == 2: fts.append(first_third) lst.append(dic[first_third])for lst in lists: if (lst[0], lst[2]) not in fts: lst[-1] -= 1print(lists)
编辑:谢谢utdemir。
first_third = lst[0], lst[2]是正确的,不是
first_third = lst[0] +lst[2]
Edit2:为清楚起见,更改了变量名称。
Edit3:进行了更改,以反映原始海报的真正需求以及他的更新列表。不再需要,只是进行了所需的更改。



