Python 将字符串转换为带int和None的数组

Python 将字符串转换为带int和None的数组,python,string,lambda,nonetype,Python,String,Lambda,Nonetype,我正在尝试以下代码: data=str([1, 2, 3, None, None, 4, 5]) temp=data.strip('][').split(', ') array=list(map(lambda x: None if x==None else int(x), temp)) print(array) 但是我得到了这个错误: ValueError: invalid literal for int() with base 10: 'None' 我怎样才能得到这个来将数组放回数组中呢?

我正在尝试以下代码:

data=str([1, 2, 3, None, None, 4, 5])
temp=data.strip('][').split(', ')
array=list(map(lambda x: None if x==None else int(x), temp))
print(array)
但是我得到了这个错误:

ValueError: invalid literal for int() with base 10: 'None'

我怎样才能得到这个来将数组放回数组中呢?非常感谢

要将列表转换为特定于Python的字符串表示,请使用标准或至少常用的编码,如JSON

lst = [1,2,3, None, None, 4, 5]
data = json.dumps(lst)
assert lst == json.loads(data)

使用x=='None'谢谢@abdusco的帮助。我想,我只是有一个心理障碍,为什么它不起作用。literal_evalx可以避免任何条件的需要。@abdusco我有一个面试,我正在练习leetcode,解决这个问题: