[英]Python - String conversion to list
我有一個字符串字段: "[Paris, Marseille, Pays-Bas]"
。 我想將此字符串轉換為字符串列表。
現在我有以下功能:
def stringToList(string):
string = string[1:len(string)-1]
try:
if len(string) != 0:
tempList = string.split(", ")
newList = list(map(lambda x: str(x), tempList))
else:
newList = []
except:
newList = [-9999]
return(newList)
我想知道是否有更簡單或更短的方法具有相同的結果。 如果我的輸入數據是int
類型,我可以使用ast.literal_eval()
。 但就我而言,它不起作用。
謝謝
值得了解:
import re
string = "[Paris, Marseille, Pays-Bas]"
founds = re.findall('[\-A-Za-z]+', string)
它將找到至少包含-
、 AZ
和az
。
一個優點是它可以處理不太整潔的字符串,例如:
string2 = " [ Paris, Marseille , Pays-Bas ] "
string3 = " [ Paris , Marseille , Pays-Bas ] "
這將其拆分為一個字符串列表:
'[Paris, Marseille, Pays-Bas]'.strip('[]').split(', ')
# ['Paris', 'Marseille', 'Pays-Bas']
只需使用切片和str.split
:
>>> s = '[Paris, Marseille, Pays-Bas]'
>>> s[1:-1].split(', ')
['Paris', 'Marseille', 'Pays-Bas']
>>>
或str.strip
與str.split
:
>>> s = '[Paris, Marseille, Pays-Bas]'
>>> s.strip('[]').split(', ')
['Paris', 'Marseille', 'Pays-Bas']
>>>
嘗試這個 :
s = "[Paris, Marseille, Pays-Bas]"
s = [i.replace('[','').replace(']','').replace(' ','') for i in
s.split(',')]
print(s)
輸出:
['Paris', 'Marseille', 'Pays-Bas']
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.