将字符串内的字符串转换为" normal"串

时间:2015-06-14 16:31:54

标签: python string

我有一个例程,它给我一个看起来像的列表:

["'foo'", "'bar'", "'tmp'", "'tmp2'" …]

我怎样才能将它们变成:

['foo', 'bar', 'tmp', 'tmp2']

在Python 2.7中?

6 个答案:

答案 0 :(得分:2)

您可以删除引号:

lst = [entry[1:-1] for entry in lst]

lst = [entry.strip("'") for entry in lst]

答案 1 :(得分:0)

如果您的字符串在开头和结尾都有引号字符,并且您想要将其删除,则可以执行此操作:

mylist = [s[1:-1] for s in mylist]

答案 2 :(得分:0)

new_list = [x[1:-1] for x in old_list]

在没有第一个和最后一个字符的情况下重新创建列表的简单列表理解应该可以解决问题。

答案 3 :(得分:0)

只需替换单引号。

#!/usr/bin/python

badstrings=["'foo'", "'bar'", "'tmp'", "'tmp2'"]

goodstrings=[]

for badstring in badstrings:
    goodstring=badstring.replace("'", '')
    goodstrings.append(goodstring)

print goodstrings

输出

['foo', 'bar', 'tmp', 'tmp2']

答案 4 :(得分:0)

x=["'foo'", "'bar'", "'tmp'", "'tmp2'"]
print [i.rstrip("'").lstrip("'") for i in x]

对于字符串中存在rstrip and lstrip的情况,您应该使用strip而非'

答案 5 :(得分:0)

使用条带函数,我们可以剥离双重代码并使用单个代码值返回结果。

为有问题的值打印[values.strip("'")]