如何添加元组值



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

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

最新更新