如何从字符串列表中删除未使用的字符

sk1*_*007 -2 python python-2.7

例如,我的列表是:

list_1 =  [ '[1234,', '4567,', '19234,', '786222]' ]
Run Code Online (Sandbox Code Playgroud)

并且预期的输出是:

list_1 = [1234, 4567, 19234, 786222]
Run Code Online (Sandbox Code Playgroud)

jon*_*rpe 6

坦率地说,从中获取整数列表的最简单方法是将其作为表示列表的字符串重新组合在一起:

>>> list_1 = ['[1234,', '4567,', '19234,', '786222]']

>>> list_repr = ' '.join(list_1)
>>> list_repr
'[1234, 4567, 19234, 786222]'
Run Code Online (Sandbox Code Playgroud)

然后通过以下方式提供ast.literal_eval:

>>> from ast import literal_eval
>>> literal_eval(list_repr)
[1234, 4567, 19234, 786222]
Run Code Online (Sandbox Code Playgroud)

在你可能list_1通过首先split在一个已经代表一个列表的字符串上使用该方法的情况下,我确信你可以弄清楚如何缩短这个过程......

  • 令人惊讶的是,我的意思是,如果有意义的话,你经常用正统的蟒蛇以非正统的方式处理问题.所以,你在盒子外思考,然后正确地做,"单向". (4认同)
  • 你总是让我感到惊讶.我喜欢使用`literal_eval`. (2认同)

tob*_*s_k 5

你可以strip把坏人物转换成int.

>>> [int(s.strip("[],")) for s in list_1]
[1234, 4567, 19234, 786222]
Run Code Online (Sandbox Code Playgroud)