在 Python 中拆分来自用户的输入
Split an input from user in Python
使用该str.split()
方法拆分来自用户的输入,例如
user_input.split(' ')
. 该str.split
方法将根据提供的分隔符拆分字符串,并返回包含结果的列表。
主程序
from_user = input('Enter two words: ') print(from_user) # 👉️ 'one two' # 👇️ split with space separator result = from_user.split(' ') print(result) # 👉️ ['one', 'two'] first, second = result print(first) # 👉️ one print(second) # 👉️ two
我们使用该str.split()
方法来拆分用户输入。
str.split ()
方法使用定界符将字符串拆分为子字符串列表。
该方法采用以下 2 个参数:
姓名 | 描述 |
---|---|
分隔器 | 在每次出现分隔符时将字符串拆分为子字符串 |
最大分裂 | 最多maxsplit 完成拆分(可选) |
如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。
如果您需要从用户那里获取数字,请确保将它们转换为整数或浮点数。
主程序
from_user = input('Enter two numbers: ') print(from_user) # 👉️ '5 10' # 👇️ split with space separator result = [int(x) for x in from_user.split(' ')] print(result) # 👉️ [5, 10] first, second = result print(first) # 👉️ 5 print(second) # 👉️ 10
input()函数总是保证返回一个字符串,即使用户输入了一个数字。
我们可以使用int()
或float()
类将字符串转换为数字。
该示例在每个空格上拆分字符串,并使用列表推导式遍历列表并将每个子字符串转换为整数。
列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。
当在
str.split()
没有分隔符的情况下调用该方法时,它将连续的空白字符视为单个分隔符。这对于处理用户在单词或数字之间输入多个空格的情况很有用。
主程序
from_user = input('Enter two numbers: ') print(from_user) # 👉️ '5 10' 👈️ has multiple spaces between digits # 👇️ split with space separator result = [int(x) for x in from_user.split()] print(result) # 👉️ [5, 10] first, second = result print(first) # 👉️ 5 print(second) # 👉️ 10
这种方法还处理字符串以空格开头或结尾的情况。
您还可以在拆分来自用户的输入时使用任何其他分隔符,它不必是空格。
主程序
from_user = input('Enter two numbers: ') print(from_user) # 👉️ '5,10' # 👇️ split with space separator result = [int(x) for x in list(filter(None, from_user.split(',')))] print(result) # 👉️ [5, 10]
该示例在每次出现逗号时拆分输入字符串。