在这里,我列出了产品名称和产品价格,但我只想从列表中拿出产品价格,然后计算所有产品的总价。我该怎么办?
For example i have a list:
all_products = ['food',1000,'pasta',500,'beer',400]
how can i do : 1000+500+400 = 1900
答案 0 :(得分:1)
鉴于整数位于奇数索引上,您可以对一个值片求和,例如:
sum(all_products[1::2])
,但最好将两者合并在一起,并尽量避免这种情况。例如,通过生成2元组的列表等,使用像上面这样的“扁平”结构通常不是一个好主意。
我们还可以汇总列表中的int
和float
,例如:
sum(p for p in all_products if isinstance(p, (int, floats)))
但这仍然是“不安全的”,因为可能并非所有整数/浮点数都是价格。