将字符串转换并合并到Python中的列表中

gre*_*eye 4 python string list

在Python中,我有四个字符串,包括列表的格式:

line1 ="['a.b.c','b.c.a','c.d.e']"
line2 ="['def','efg']"
line3 ="['f']"
line4 ="['g']"
Run Code Online (Sandbox Code Playgroud)

如何将它们全部合并,以便获得有效的Python列表,例如:

SumLine = ['a.b.c','b.c.a','c.d.e','def','efg','f','g']
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 11

import ast

line1 ="['a.b.c','b.c.a','c.d.e']"
line2 ="['def','efg']"
line3 ="['f']"
line4 ="['g']"

SumLine = []

for x in (line1, line2, line3, line4):
  SumLine.extend(ast.literal_eval(x))

print SumLine
Run Code Online (Sandbox Code Playgroud)

eval除非您对正在评估的字符串有超自然的信任,否则不要使用内置函数; ast.literal_eval虽然仅限于简单的常数,但它是完全安全的,因此,最常见的方式更为可取.

  • 请注意,ast模块仅适用于Python 2.6及更高版本. (4认同)