我有一个这样的清单:
>>> mylist=['a', 'b', 'c', 'd', 'e']
我想以下列格式打印声明。
>>> q=('%mylist% OR ' * len(mylist))[:].strip().rstrip('OR').strip()
q的输出是:
>>> '%mylist% OR %mylist% OR %mylist% OR %mylist% OR %mylist%'
但我真的想这样做:
'%a% OR %b% OR %c% OR %d% OR %e%'
我该如何输出?
我的意思是我想做类似的事情:
'%mylist[0]% OR %mylist[1]% OR %mylist[2]% OR %mylist[3]% OR %mylist%[4]'
答案 0 :(得分:5)
使用list comprehension和join
>>> l = ['a', 'b', 'c', 'd', 'e']
>>> ' OR '.join(['%' + i + '%' for i in l])
'%a% OR %b% OR %c% OR %d% OR %e%'
>>> ' OR '.join('%' + i + '%' for i in l)
'%a% OR %b% OR %c% OR %d% OR %e%'
答案 1 :(得分:2)
>>> l = ['a', 'b', 'c', 'd', 'e']
>>> s = ""
>>> import re
>>> for i in l:
s += ("%"+i+"% OR ")
>>> res = re.sub(r"(.*)OR\s*$", r"\1", s)
>>> print res
%a% OR %b% OR %c% OR %d% OR %e%