2014-11-05 99 views

回答

0

使用正則表達式:re.findall

import re 
s = "(I (J (K L) (M N)) (O P))" 
re.findall('[\w\(\)]',s) 

輸出:

['(', 'I', '(', 'J', '(', 'K', 'L', ')', '(', 'M', 'N', ')', ')', '(', 'O', 'P', ')', ')'] 
3
s = "(I (J (K L) (M N)) (O P))" 
list(s.replace(" ", "")) 
0

您的意思是這樣的?

s = "(I (J (K L) (M N)) (O P))" 
print [i for i in s if i != " "] 

mylist = [] 
for i in s: 
    if i != " ": 
     mylist.append(i) 
print mylist 
0

您可以使用list(str),但你必須先刪除空格:

>>> st="(I (J (K L) (M N)) (O P))" 
>>> list(st.replace(' ','')) 
['(', 'I', '(', 'J', '(', 'K', 'L', ')', '(', 'M', 'N', ')', ')', '(', 'O', 'P', ')', ')'] 
0

你可以使用list comprehension

>>> s = "(I (J (K L) (M N)) (O P))" 
>>> [i for i in s if i != ' '] 
['(', 'I', '(', 'J', '(', 'K', 'L', ')', '(', 'M', 'N', ')', ')', '(', 'O', 'P', ')', ')'] 
0
>>> string = '(I (J (K L) (M N)) (O P))' 

>>> string 

'(I (J (K L) (M N)) (O P))' 

>>> lst = [] 

>>> for x in string: 
... if x != ' ': 
...  if lst.append(x) 

['(', 'I', '(', 'J', '(', 'K', 'L', ')', '(', 'M', 'N', ')', ')', '(', 'O', 'P', ')', ')']  
相關問題