python - 如何在 python 中对数组中的选定元素求和? (多输入)

标签 python arrays list for-loop

代码如下:

PRICE = [1000, 1100, 1200, 1300, 1400, 1500]
x = raw_input() 

for i, v in enumerate(PRICE):

print total price

例如用户输入“1 3 2 2” 所以 x 是我从用户那里得到的多个输入。 我如何总结它们?加上答案应该是 1100 + 1300 + 1200 + 1200 = 4800 我想创建一个代码,即使我更改了输入,我仍然能够对它们求和。例如,如果我将 x 更改为 2 2 2 1,则总和为 4700。

最佳答案

你可以像这样将用户输入变成索引:

print sum(PRICE[int(a)] for a in x.split())

但它只有在 raw_input 具有您所说的格式时才有效:整数被空格分割,当然它容易出现 IndexError: list index out of range 如果值提供的长度大于列表长度。

编辑:按照 martineau 在评论中的建议删除了中间列表创建

关于python - 如何在 python 中对数组中的选定元素求和? (多输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22714166/

相关文章:

Python - 按数字排序列表

从终端使用 SOCKS5 时 Python 的请求为 "Missing dependencies for SOCKS support"

javascript - 为什么我不能将两个数组与 "includes"进行比较?

arrays - React-redux 状态数组管理

arrays - 快速删除数组范围内的对象

c# - 列表相交返回 null

python - 如何在Python中调用静音/扬声器控制键。戴尔Latitude E7440

python - 从线程取回变量

python - 在 Jupyter 中, '/home/jovyan' 在哪里?

python - 切片 python 字符串