【发布时间】:2021-07-04 19:22:42
【问题描述】:
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 语句和索引来首先检查用户用来分隔它的内容,但我只希望它最多在一两行上完成。
【问题讨论】:
-
re模块中的.split()版本可以接受任意模式进行拆分 - 例如[- ,]将匹配您提到的三个字符中的任何一个。 -
当用户输入例如
1,2,3,4时,告诉你,是分割字符的规则是什么?为什么分割字符不应该是,例如3,导致结果('1,2,', ',4')?
标签: python python-3.x methods split mapping