Skip to main content
 首页 » 编程设计

python之从列表的第一个元素中删除双引号

2025年05月04日21rubylouvre

我想从此列表中删除双引号:

>>> a 
["6/1, 0, 0, ['79', '80', '81', '82']"] 

我尝试将列表的第一个元素转换为字符串列表,但效果不佳:

>>> a[0] 
"6/1, 0, 0, ['79', '80', '81', '82']" 
 
>>> list(a[0]) 
['6', '/', '1', ',', ' ', '0', ',', ' ', '0', ',', ' ', '[', "'", '7', '9', "'", ',', ' ', "'", '8', '0', "'", ',', ' ', "'", '8', '1', "'", ',', ' ', "'", '8', '2', "'", ']'] 

预期输出:

>>> a 
[6/1, 0, 0, ['79', '80', '81', '82']] 
                    or 
>>> a 
['6/1', '0', '0', ['79', '80', '81', '82']] 

有人可以帮我解决这个问题吗?

请您参考如下方法:

这会将字符串作为列表求值:

a = list(eval(a[0]))

[6, 0, 0, ['79', '80', '81', '82']]

如果你知道你的端口将是 6/1,你可以用这样的字符串替换它:

a = list(eval(a[0])) 
a[0] = '6/1' 

['6/1', 0, 0, ['79', '80', '81', '82']]

如果你的端口要改变,但你知道它永远是第一个元素,你可以这样做:

a = list(eval("'"+ a[0].split(',')[0] + "'"+ ","+ ','.join(a[0].拆分(',')[1:])))

['6/1', 0, 0, ['79', '80', '81', '82']]

或清洁版:

l = a[0].split(',') 
a = list(eval("'" + l[0] + "' ," + ','.join(l[1:]))) 

['6/1', 0, 0, ['79', '80', '81', '82']]