2016-10-28 4 views
1
list1= [u'%app%%General%%Council%', u'%people%', u'%people%%Regional%%Council%%Mandate%', u'%ppp%%General%%Council%%Mandate%', u'%Regional%%Council%', u'%chair%%Label%', u'%chairman%%Title%', u'%chairman%', u'%chairperson%'] 


list2=[u'app General Council', u'people', u'people Regional Council Mandate', u'ppp General Council Mandate', u'Regional Council', u'chair Label', u'chairman Title', u'chairman', u'chairperson'] 

Je voulais changer list1 en list2 pour supprimer le% replace comme "". Toutefois, lors de l'utilisation déclaration suivante:edite la chaîne python expression régulière python

print [i.replace("%"," ") for i in list1] 
[u' app General Council ', u' people ', u' people Regional Council Mandate ', u' ppp General Council Mandate ', u' Regional Council ', u' chair Label ', u' chairman Title ', u' chairman ', u' chairperson '] 

le résultat est pas ce que je veux. Comment supprimer l'espace au début et à la fin de chaque élément? afin que je puisse obtenir le résultat qui est comme list2.

+0

Utilisez la ligne 'i.replace ("%", "")' au lieu de 'i.replace ("%", » «)' – Ashan

+0

je l'ai essayé. il ne peut pas, il joindra tous les mots ensemble – bob90937

+1

Aussi simple que '[i.strip ('%'). replace ('%%', '') pour i dans la liste1]' – agg3l

Répondre

3

Vous pouvez également essayer de remplacer "%%" avec " " d'abord et "%" avec "" plus tard. Cela va résoudre ton problème.

In [18]: list2 = [i.replace("%%"," ") for i in list1] 

In [19]: list2 
Out[19]: 
[u'%app General Council%', 
u'%people%', 
u'%people Regional Council Mandate%', 
u'%ppp General Council Mandate%', 
u'%Regional Council%', 
u'%chair Label%', 
u'%chairman Title%', 
u'%chairman%', 
u'%chairperson%'] 

In [20]: list2 = [i.replace("%","") for i in list2] 

In [21]: list2 
Out[21]: 
[u'app General Council', 
u'people', 
u'people Regional Council Mandate', 
u'ppp General Council Mandate', 
u'Regional Council', 
u'chair Label', 
u'chairman Title', 
u'chairman', 
u'chairperson']