在 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 个参数:
- separator 在每次出现分隔符时将字符串拆分为子字符串
- maxsplit 最多完成最大拆分(可选)
如果在字符串中找不到分隔符,则返回仅包含 1 个元素的列表。
如果我们需要从用户那里获取数字,请确保将它们转换为整数或浮点数。
from_user = input('Enter two numbers: ')
print(from_user) # ?️ '5 10'
# ?️ 用空格分隔符分割
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' ?️ 数字之间有多个空格
# ?️ 用空格分隔符分割
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'
# ?️ 用空格分隔符分割
result = [int(x) for x in list(filter(None, from_user.split(',')))]
print(result) # ?️ [5, 10]
该示例在每次出现逗号时拆分输入字符串。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。