2017-09-13 111 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']