2017-09-13 151 views
0

原單是這字符串的字符串,進去串

a=['="1111"', '="2222"', '="3333"', '="4444"'] 

我試試這個

b=[b.strip('=') for b in a] 

然後我得到這個

[ ' 「1111」',「 「2222」,「」,「3333」,「」4444「']

我已經嘗試了一些方法,以消除外界 '',但我仍然不能使它

我想

[ 「1111」, 「2222」, 「3333」, 「4444」]

+1

不管你在做什麼,你應該在一個不太瘋狂的方式來管理你的數據,因此,這是沒有必要的。 ..你不應該在那裏得到報價。 – alexis

回答

1

TECHNIC -1:使用strip()

>>> a=['="1111"', '="2222"', '="3333"', '="4444"'] 
>>> b=[b.strip('=').strip('"') for b in a] 
>>> b 
['1111', '2222', '3333', '4444'] 

TECHNIC -2:使用replace()

>>> a=['="1111"', '="2222"', '="3333"', '="4444"'] 
>>> b=[b.replace("=","").replace('"',"") for b in a] 
>>> b 
['1111', '2222', '3333', '4444'] 

兩個工藝以上是適用於簡單和小名單。如果我們按照相同的方法處理包含1000個元素的列表,它將迭代1000個元素。所以爲了避免,你可以按照TECHNIC - 3

>>> a=['="1111"', '="2222"', '="3333"', '="4444"'] 
>>> b = ','.join(a).replace("'","").replace('"',"").replace("=","").split(",") 
>>> b 
['1111', '2222', '3333', '4444'] 

>>> import re 
>>> mystring = ','.join(a) 
>>> re.sub('[^A-Za-z0-9,]+','',mystring).split(",") 
['1111', '2222', '3333', '4444'] 
0

str.strip()允許您通過多個字符修剪:

a = ['="1111"', '="2222"', '="3333"', '="4444"'] 
b = [i.strip('="') for i in a] 
print(b) 

輸出:

['1111', '2222', '3333', '4444']