我有一个列表,我需要比较所有元素的第0项和第2项。如果这两项相等,我想把第1项和第3项相加。更清楚地说:
list1 = [['diez.hn','Arts','Austria','8'], ['diez.hn','Entertainment','Austria','12']]
element 0 of list1: ['diez.hn','Arts','Austria','8']
element 1 of list1: ['diez.hn','Entertainment','Austria','12']
我需要的是:
list_ok = [['diez.hn','Arts - Entertainment','Austria','20']]
我试过这样的方法:
reader = [['diez.hn','Arts','Austria','8'], ['diez.hn','Entertainment','Austria','12']]
reader2 = [['diez.hn','Arts','Austria','8'], ['diez.hn','Entertainment','Austria','12']]
for item in reader:
for item2 in reader2:
if item[0] and item[2] == item2[0] and item2[2]:
item[1] = item[1] + item2[1]
item[3] = item[3] + item2[3]
这种方法对列表进行排序,然后使用
itertools.groupby()
对位置0和2处具有相同元素的子列表进行分组:相关问题 更多 >
编程相关推荐