python - 有没有更简单、更有效或更短的方法来做到这一点?

标签 python list input append list-comprehension

finallist = []
for each_time in range(10):
    x = int(input("Whats your number ? "))
    finallist.append(x)

它询问 10 次 “Whats your number ?”.append 使用 input()as int< 获得的答案 到一个列表中,我想知道有什么简单的方法可以做到这一点,也许用 map ?我也读过关于 json 的类似问题。

finallist.append(int(input("Whats your number ? ")))

我知道我可以做到这一点,但出于解释的原因,我更愿意写第一个。

最佳答案

可以通过列表理解来做到这一点:

finallist = [int(input("Whats your number ? ")) for _ in range(10)]

但是我wouldn't recommend doing it ,因为不太清楚发生了什么。

或者,正如 Python 之禅所说:

>>> import this
...
Explicit is better than implicit.

当您的函数没有副作用时,列表理解(和 mapfilterreduce 等)是最好的。要求用户输入有副作用。

关于python - 有没有更简单、更有效或更短的方法来做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45492382/

相关文章:

arrays - 如何在protobuf重复字段中发送0?

python - 如何将混合维数组展平为二维列表?

python - 根据意思比较句子

python - 我还是不明白内存观的意义

python - 字段错误: Cannot resolve 'publish_year' into field

python - 如何在 z3 python API 中使用 Implies 和 if bool 命令

java - 收集 Java 方法中的错误,空 ArrayList 与 LinkedList

javascript - 在焦点和更改上搜索输入

c - 函数输入参数类型转换不当

javascript - 如何对输入标签中的两个数字求和?