python - 如何将行分隔整数的输入作为python中的列表
问题描述
您将获得一组由行分隔的整数作为输入,例如....
7
2
4
5
8
9
但是您希望在多次尝试后将所有这些转换为程序的 lst,例如 [7,2,4,5,8,9],例如
nums = int (input())
lst = []
for i in nums:
lst.append(int (i))
print (list)
不幸的是,这仅输出输入的第一个元素[7]
甚至尝试使用范围,没有区别请,我错了什么?
解决方案
input
只返回一行。您需要反复调用input
以获取每一行,直到input
返回一个空字符串。
但是,使用该模块要容易得多fileinput
,它既可以从标准输入中读取,也可以从作为参数传递的一个或多个文件中读取。
import fileinput
lst = [int(x) for x in fileinput.input()]
然后,如果您的号码在一个名为 的文件中numbers.txt
,您可以使用以下任一方式运行您的脚本
script.py < numbers.txt
从标准输入读取数字,或
script.py numbers.txt
让fileinput
模块打开文件并直接从中读取。事实上,如果您有多个文件,您可以将它们全部传递并fileinput
使用相同的循环一个接一个地读取它们:
script numbers.txt more_numbers.txt even_more_numbers.txt
推荐阅读
- python - 如何在熊猫中将逗号分隔值转换为整数
- python - 如何在 windows powershell 中安装 virtualenv
- python-3.x - 为什么我的附加列表被覆盖我的意思是前面的附加元素正在改变?我能知道为什么
- autosys - Python Autosys 自动化
- node.js - Bull Queue如何进行无限尝试?
- reactjs - Serviceworker - WorkBox v3.5 在 CRA 中“找不到注入清单的地方”
- r - 不再工作的闪亮应用程序
- math - 试图理解涉及 O(M+N) 的渐近案例
- laravel - 如何激活从控制器传递数据到视图的模式。(拉拉维尔)
- javascript - 在 React 中表单验证后如何路由用户?