在 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]

该示例在每次出现逗号时拆分输入字符串。

免责声明:
1.本站所有内容由本站原创、网络转载、消息撰写、网友投稿等几部分组成。
2.本站原创文字内容若未经特别声明,则遵循协议CC3.0共享协议,转载请务必注明原文链接。
3.本站部分来源于网络转载的文章信息是出于传递更多信息之目的,不意味着赞同其观点。
4.本站所有源码与软件均为原作者提供,仅供学习和研究使用。
5.如您对本网站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。
火焰兔 » 在 Python 中拆分用户的输入