我试图在我的元组中添加值以获得以下代码的总数字
Black = (("Hans","100"),("Frank","20.5"))
for v in Black:
print(v[1])
print (v[1]+v[1])
但是当我这样做时,它会连接像 100100 这样的值,而不是值的总数字
您有两个选择:
1( 去掉元组中值的引号:
Black = (("Hans",100),("Frank",20.5))
for v in Black:
print(v[1])
print (v[1]+v[1])
2( 在循环过程中将字符串转换为浮点数:
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])
这是一种方法:
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