Skip to main content
 首页 » 编程设计

python之在列表列表中查找索引和总和

2025年05月04日8bonelee

您好,我希望这是一个容易解决的问题。我正在尝试读取一个 csv 文件并将一部分写入列表。我需要确定每一行中的索引和值,然后进行汇总。

所以该行将有 32 个值...每个值都是一个分类(类 0、类 1 等)以及与之相关联的数字。我需要一个 pythonic 解决方案来完成这项工作。

import os,sys,csv 
csvfile=sys.argv[1] 
f=open(csvfile,'rt') 
reader=csv.reader(f) 
classes=[] 
for row in reader: 
  classes.append(row[60:92]) 
f.close() 
 
classes = [' ', '1234', '645', '9897'],  [' ', '76541', ' ', '8888'] 

我如何从每个列表中提取索引值以获得每个列表的总和? 例如:0=(' ', ' ') 1=('1234', '76541') 2= ('645', ' ') 3= ('9897', '8888') 然后找到每个的总和

class 0 = 0 
class 1 = 77775 
class 2 = 645 
class3 = 18785 

如有任何帮助,我们将不胜感激

请您参考如下方法:

我发现您的用例有点难以理解,但是这个列表理解是否为您提供了一些解决问题的新想法?

>>> classes = [' ', '1234', '645', '9897'],  [' ', '76541', ' ', '8888'] 
>>> [sum(int(n) for n in x if n != ' ') for x in zip(*classes)] 
[0, 77775, 645, 18785]