如何添加元组值

时间:2018-03-14 16:24:06

标签: python

我试图在我的元组中添加值以使用以下代码获得总数

Black = (("Hans","100"),("Frank","20.5"))

for v in Black:
    print(v[1])
    print (v[1]+v[1])

但是,当我这样做时,它会连接像100100这样的值而不是值的总数

2 个答案:

答案 0 :(得分:2)

您有两种选择:

1)从元组中的值中取出引号:

Black = (("Hans",100),("Frank",20.5))
for v in Black:
       print(v[1])
       print (v[1]+v[1])

2)在循环期间将字符串转换为float:

Black = (("Hans","100"),("Frank","20.5"))
for v in Black:
       print(v[1])
       print (float(v[1])+float(v[1]))

3)如果您的目标是列表列表中所有[1]索引值的总和:

Black = (("Hans",100),("Frank",20.5))
sum([x[1] for x in Black])

答案 1 :(得分:0)

这是一种方式:

Black = (("Hans","100"),("Frank","20.5"))

res = sum(float(num) for name, num in Black)
# 120.5

使用zip的替代方法:

res = sum(map(float, list(zip(*Black))[1]))
# 120.5