2016-10-28 3 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'] 

Я хотел изменить list1 в list2, чтобы удалить% replace как "". Однако, когда я использую следующее заявление:edite строка python регулярное выражение 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 '] 

результат является не то, что я хочу. Как удалить пространство в начале и конце каждого элемента? так что я могу получить результат, похожий на list2.

+0

Используйте строки 'i.replace ("%", "")' вместо 'i.replace ("%",» «)' – Ashan

+0

я пробовал. он не может, он присоединяется ко всем словам вместе – bob90937

+1

Так же просто, как '[i.strip ('%'). replace ('%%', '') для i в списке1]' – agg3l

ответ

3

Вы также можете попробовать заменить "%%" на " " сперва и "%" с "" позже. Это решит вашу проблему.

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'] 
Смежные вопросы