我有一个这样的列表:
>>> mylist=['a', 'b', 'c', 'd', 'e']
Run Code Online (Sandbox Code Playgroud)
我想以下列格式打印语句.
>>> q=('%mylist% OR ' * len(mylist))[:].strip().rstrip('OR').strip()
Run Code Online (Sandbox Code Playgroud)
q的输出是:
>>> '%mylist% OR %mylist% OR %mylist% OR %mylist% OR %mylist%'
Run Code Online (Sandbox Code Playgroud)
但我真的想这样做:
'%a% OR %b% OR %c% OR %d% OR %e%'
Run Code Online (Sandbox Code Playgroud)
我怎么能有这个输出?
我的意思是我想做一些事情:
'%mylist[0]% OR %mylist[1]% OR %mylist[2]% OR %mylist[3]% OR %mylist%[4]'
Run Code Online (Sandbox Code Playgroud)
使用列表理解和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%'
Run Code Online (Sandbox Code Playgroud)