我有一個例行這使我看起來像一個列表:談到字符串內字符串轉換成「正常」的字符串
["'foo'", "'bar'", "'tmp'", "'tmp2'" …]
我怎樣才能把這些變成:
['foo', 'bar', 'tmp', 'tmp2']
在Python 2.7
?
我有一個例行這使我看起來像一個列表:談到字符串內字符串轉換成「正常」的字符串
["'foo'", "'bar'", "'tmp'", "'tmp2'" …]
我怎樣才能把這些變成:
['foo', 'bar', 'tmp', 'tmp2']
在Python 2.7
?
new_list = [x[1:-1] for x in old_list]
一個簡單的列表理解重新創建列表沒有第一個和最後一個字符應該做的伎倆。
一個人無法解決這樣簡單的問題時,就知道它何時遲到工作。儘管謝謝你的回答;) – Pixdigit
如果你的字符串有開始和結束引號字符,並且要剝奪他們,你可以這樣做:
mylist = [s[1:-1] for s in mylist]
可以剝去引號:
lst = [entry[1:-1] for entry in lst]
或
lst = [entry.strip("'") for entry in lst]
只需將單引號替換爲無。
#!/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']
x=["'foo'", "'bar'", "'tmp'", "'tmp2'"]
print [i.rstrip("'").lstrip("'") for i in x]
您應該使用rstrip and lstrip
而不只是strip
的情況下'
是目前的字符串中。
使用strip函數我們可以去掉雙重代碼並返回單個代碼值的結果。
[對於所討論的值values.strip( 「'」)]
選其一'str.strip'或'ast.literal_eval'打印。 –