将字符串文字转换为字符串列表

时间:2016-01-02 12:57:26

标签: python list

我有

letters =  ["'FD', 'DD', 'CB', 'AA', 'CB', 'BA', 'BB', 'FD', 'CC', 'CB', 'BA', 'DC', 'CB', 'CC', 'FD', 'CC', 'CB', 'FF'"]

我想分开第一个和最后一个" "并创建此列表

letters = ['FD', 'DD', 'CB', 'AA', 'CB', 'BA', 'BB', 'FD', 'CC', 'CB', 'BA', 'DC', 'CB', 'CC', 'FD', 'CC', 'CB', 'FF']

这是我的尝试,不幸的是,似乎又给了我同样的名单:

a=["'FD', 'DD', 'CB', 'AA', 'CB', 'BA', 'BB', 'FD', 'CC', 'CB', 'BA', 'DC', 'CB', 'CC', 'FD', 'CC', 'CB', 'FF'"]
a="".join(a)
a=a.replace('"'," " )
print a
n=[]
n.append(a)

2 个答案:

答案 0 :(得分:4)

您可以尝试以下方法:

string = letters[0]
listInDesiredFormat = string.replace('\'', '').split(', ')

这将获取列表中第一个元素的字符串,替换所有单引号,然后在逗号上拆分以获取字符串列表

答案 1 :(得分:3)

首先,对于letters,您没有字符串,但只包含一个元素的列表(恰好是一个字符串)。您可以使用letters[0]访问内部字符串。

我建议使用ast.literal_eval,它(基本上)是eval的安全版本。

>>> from ast import literal_eval
>>> list(literal_eval(letters[0]))
['FD', 'DD', 'CB', 'AA', 'CB', 'BA', 'BB', 'FD', 'CC', 'CB', 'BA', 'DC', 'CB', 'CC', 'FD', 'CC', 'CB', 'FF']