【发布时间】:2016-04-25 19:51:29
【问题描述】:
假设我有这个元组列表:[('3', '20'), ('1', '50'), ('2', '50')],我将如何只总结每个元组中的第二个元素?所以在这个例子中,总和是 120。另外,我是否必须事先将数字转换为整数才能使 sum() 函数工作?
【问题讨论】:
标签: python list integer sum tuples
假设我有这个元组列表:[('3', '20'), ('1', '50'), ('2', '50')],我将如何只总结每个元组中的第二个元素?所以在这个例子中,总和是 120。另外,我是否必须事先将数字转换为整数才能使 sum() 函数工作?
【问题讨论】:
标签: python list integer sum tuples
如果l 是您列出的,那么:
sum(int(x[1]) for x in l)
除了sum(...),您还可以使用sum((...)) 或sum([...])。前者使用生成器表达式,后者创建一个临时列表(列表推导式)。
【讨论】:
sum(int(x[1]) for x in l) 工作得很好。
你可以试试,
tup = [('3', '20'), ('1', '50'), ('2', '50')]
s= 0
for i in tup:
s+= int(i[-1])
【讨论】:
i[-1] 是列表的最后一个元素。