如何从单行输入以及Python 3中的范围读取整数列表?
要求:读取给定列表的整数值,该整数值与单行输入之间用空格隔开,但具有给定大小的范围。
示例:
范围= 4
然后列表大小= 4
然后从大小为4的一行中读取输入列表
我在下面的列表理解语句中进行了尝试,但是它是从4行读取一个列表[即创建4个列表,每个列表代表给定行的值],而不是仅读取1个大小为4的列表
no_of_marks = 4
marksList = [list(int(x) for x in input().split()) for i in range(no_of_marks)]
有人可以帮助我实现我的要求吗?
答案 0 :(得分:1)
分割字符串,将其分割为仅包含前n
个单词,然后将其转换为整数。
marks = [int(x) for x in input().split()[:n]]
如果输入的整数少于n
,这不会失败,因此您还应该检查列表的长度
if len(marks) < n:
raise ValueError("Not enough inputs")
答案 1 :(得分:1)
您可以直接使用no_of_marks
,将no_of_marks = 4
res = [int(x) for x in input().split(" ", no_of_marks)]
用作 maxsplit 参数:
this.measurementUnitsService.GetAll().subscribe(
res => {
this.measurementUnits = res.map(x => new MeasurementUnit(x));
}
)
这里有live example