在 Python 的一行中获取 N 个输入
Take N inputs in one line in Python
要在一行中获取 N 个输入:
- 使用该
input()
函数获取多个以空格分隔的值。 - 使用该
str.split()
函数将值拆分为列表。 - 如果采用数字输入值,则将列表中的字符串转换为整数。
主程序
# ✅ using list comprehension my_list = input('Enter space-separated integers: ').split() # 👇️ convert strings to integers (optional) my_list = [int(item) for item in my_list] print(my_list) # 👉️ [1, 2, 3, 4, 5] # 👇️ can use list slicing to get first N values print(my_list[:3]) # 👉️ [1, 2, 3] # ---------------------------------------- # ✅ using map() my_list = list( map( int, input('Enter space-separated integers: ').split() ) ) print(my_list)
该
input()
函数需要多个以空格分隔的值,例如1 2 3
or a b c
。我们使用该str.split()
函数将字符串拆分为多个值的列表。
主程序
# 👇️ ['a', 'b', 'c'] print('a b c'.split()) # 👇️ ['1', '2', '3'] print('1 2 3'.split())
str.split ()
方法使用定界符将字符串拆分为子字符串列表。
当在str.split()
没有参数的情况下调用该方法时,它将连续的空白字符视为单个分隔符。
如果只想从列表中获取前 N 个值,请使用列表切片。
主程序
my_list = [1, 2, 3, 4, 5, 6] print(my_list[:3]) # 👉️ [1, 2, 3] print(my_list[:2]) # 👉️ [1, 2]
列表切片的语法是my_list[start:stop:step]
.
start
索引是包含的,索引stop
是排他的(最多,但不包括)。
Python 索引是从零开始的,因此列表中的第一项的索引为,最后一项的索引为或。
0
-1
len(my_list) - 1
当仅stop
提供索引时,列表切片从 index 开始0
。
如果您需要将用户输入值转换为整数,请使用列表理解。
主程序
my_list = input('Enter space-separated integers: ').split() # 👇️ convert strings to integers (optional) my_list = [int(item) for item in my_list] print(my_list) # 👉️ [1, 2, 3, 4, 5, 6] # 👇️ can use list slicing to get first N values print(my_list[:3]) # 👉️ [1, 2, 3]
列表推导用于对每个元素执行某些操作或选择满足条件的元素子集。
在每次迭代中,我们将当前值传递给int()
类以将其转换为整数。
输入函数接受一个可选prompt
参数并将其写入标准输出而没有尾随换行符。
该input()
函数保证返回一个字符串,即使用户输入一个数字。
或者,您可以使用该map()
功能。
要在一行中获取 N 个输入:
- 使用该
input()
函数获取多个以空格分隔的值。 - 如果采用数字输入,请使用该
map()
函数将每个输入值转换为整数。 - 使用
list()
该类将map
对象转换为列表。
主程序
my_list = list( map( int, input('Enter space-separated integers: ').split() ) ) print(my_list) # 👉️ [1, 2, 3, 4, 5] print(my_list[:3]) # 👉️ [1, 2, 3]
我们使用该str.split()
函数来拆分多个以空格分隔的整数。
map()函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。
该map
函数使用列表中的每个值调用int()
该类,并将每个字符串转换为整数。
最后一步是使用list()
类将map
对象转换为列表。