Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表作为用户的输入_Python_List_Split - Fatal编程技术网

Python 将列表作为用户的输入

Python 将列表作为用户的输入,python,list,split,Python,List,Split,当从用户处获取列表作为输入时,输入应该包含在方括号内,而不仅仅是键入数字 这是我的代码,用于从用户获取列表的多个输入 a = list(map(int,input().strip().split(', '))) 默认输入为[1,2,3,4]。 当我运行代码时,我得到一个错误: ValueError: invalid literal for int() with base 10: '[1' 我知道发生这种情况的原因是因为“[1”是一个不能转换为int的元素,它(方括号和1)被视为索引0处列表的

当从用户处获取列表作为输入时,输入应该包含在方括号内,而不仅仅是键入数字 这是我的代码,用于从用户获取列表的多个输入

a = list(map(int,input().strip().split(', ')))
默认输入为[1,2,3,4]。 当我运行代码时,我得到一个错误:

ValueError: invalid literal for int() with base 10: '[1'
我知道发生这种情况的原因是因为“[1”是一个不能转换为int的元素,它(方括号和1)被视为索引0处列表的第一个元素。 拥有方括号对我来说是绝对必要的,我如何解决这个错误,或者忽略方括号?有没有忽略方法或类似的方法可以工作?
干杯!

您可以在将其转换为int之前将其从字符串中删除:

a = list(map(int,
             input()
             .strip()
             .replace('[', '')
             .replace(']', '')
             .split(', ')
            )
        )
或者也可以使用正则表达式获取所有数字:

import re
a = list(map(int, re.findall(r'\d+', input())))

在将其转换为int之前,可以将其从字符串中删除:

a = list(map(int,
             input()
             .strip()
             .replace('[', '')
             .replace(']', '')
             .split(', ')
            )
        )
或者也可以使用正则表达式获取所有数字:

import re
a = list(map(int, re.findall(r'\d+', input())))

从输入端剥去支架:

a = [int(n) for n in input().strip('[]').split(',')]

从输入端剥去支架:

a = [int(n) for n in input().strip('[]').split(',')]

通过一种简单的方法,您可以使用strip()删除额外的空格和“[]”

a = list(map(int, input().strip(' []').split(',')))

通过一种简单的方法,您可以使用strip()删除额外的空格和“[]”

a = list(map(int, input().strip(' []').split(',')))