溢出方法是否可以根据用户在 python 中输入的内容进行拆分?

Is there a away for the spilt method to split depending on what the user has entered in python?

user_lst = list(map(int,input("Numbers: ").split(" ")))

所以该行只是将列表映射到相应的 int 值,但是 split 方法是否有办法检测它是在 a 上拆分,还是 " " 或任何其他字符?

例如,如果用户输入

1,2,3,4

1 2 3 4

1-2-3-4

我希望它按指定的拆分字符拆分列表。

我试过这个:

user_lst = list(map(int,input("Numbers: ").split(" ","-",",")))

但显然split最多只接受两个参数。但即使只有两个参数,它仍然会给出该错误。

我知道你可以使用一些 if 语句和索引来首先检查用户用什么来分隔它,但我只想最多在一两行上完成。

您可以只使用正则表达式 split 函数而不是基础 .split 方法:

import re

PATTERN = r"[-, ]"

user_lst = list(map(int, re.split(PATTERN, input("Numbers: "))))

您可以将 PATTERN 更改为任何正则表达式模式,它将匹配您希望能够拆分的符号。有关正则表达式模式的更多信息 here and you can play around with your own patterns on regex101