我有以下清单:
l = [['', 10.0, '', 'Ecran Standard 50"', 'u', '3', 'NEC', 'C501', '21', '', '', '', '', 1.0, 714.04, 2142.12, 1.2, 855.0, 2565.0],
['', 10.0, '', 'Ecran Standard 50"', 'u', '3', 'NEC', 'C501', '21', '', '', '', '', 1.0, 714.04, 2142.12, 1.2, 855.0, 2565.0],
['', 10.0, '', 'Ecran Standard 50"', 'u', '3', 'NEC', 'C501', '21', '', '', '', '', 1.0, 714.04, 2142.12, 1.2, 855.0, 2565.0],
['', 10.0, '', 'Ecran Standard 50"', 'u', '5', 'NEC', 'C501', '21', '', '', '', '', 1.0, 714.04, 2142.12, 1.2, 855.0, 2565.0],
['', 10.0, '', 'Ecran Standard 55"', 'u', '3', 'NEC', 'C553', '21', '', '', '', '', 0.0, 1035.04, 1035.04, 1.3, 1345.55, 1345.55],
['', 10.0, '', 'Ecran Standard 55"', 'u', '3', 'NEC', 'C551', '21', '', '', '', '', 0.0, 1035.04, 1035.04, 1.3, 1345.55, 1345.55],
['', 10.0, '', 'Ecran Standard 55"', 'u', '1', 'NEC', 'C551', '21', '', '', '', '', 0.0, 1035.04, 1035.04, 1.3, 1345.55, 1345.55]]
我想删除重复项,但通过引用“C501、C553、C551”,然后乘以QTE
我有这个密码
count = 0
for ind, ele in enumerate(l,1):
if ele not in l[ind:]:
for team in l:
if team[7] == ele[7]:
count+=1
print("{} -> {}\n\n".format(ele,count))
count = 0
但是,它删除了重复列表,但是我想要的是通过引用删除所有重复的列表,然后将它们相乘
例:
['', 10.0, '', 'Ecran Standard 50"', 'u', '14', 'NEC', 'C501', '21', 'TECHDATA', '', '', '', 1.0, 714.04, 2142.12, 1.2, 855.0, 2565.0]
['', 10.0, '', 'Ecran Standard 50"', 'u', '3', 'NEC', 'C553', '21', 'TECHDATA', '', '', '', 1.0, 714.04, 2142.12, 1.2, 855.0, 2565.0]
['', 10.0, '', 'Ecran Standard 50"', 'u', '4', 'NEC', 'C551', '21', 'TECHDATA', '', '', '', 1.0, 714.04, 2142.12, 1.2, 855.0, 2565.0]
我怎样才能解决这个问题
试试这个:)
这里有几种不同的方法可以通过
itertools.groupby()
解决这个问题:这将根据C501/C551/C553值重复删除子列表:
输出:
这将基于C501/C551/C553值重复子列表,并在
'u'
值之后的字段上执行求和聚合:输出:
相关问题 更多 >
编程相关推荐