我试图在我的元组中添加值以使用以下代码获得总数
Black = (("Hans","100"),("Frank","20.5"))
for v in Black:
print(v[1])
print (v[1]+v[1])
但是,当我这样做时,它会连接像100100这样的值而不是值的总数
答案 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