简体   繁体   English

按顺序打印列表元素作为变量

[英]Printing list elements in order, as variables

I have a list like so: 我有一个像这样的清单:

>>> mylist=['a', 'b', 'c', 'd', 'e']

I want to print statement in the following format. 我想以以下格式打印对帐单。

>>> q=('%mylist% OR ' * len(mylist))[:].strip().rstrip('OR').strip()

The output of q is: q的输出为:

>>> '%mylist% OR %mylist% OR %mylist% OR %mylist% OR %mylist%'

But I want really do this: 但我真的想这样做:

'%a% OR %b% OR %c% OR %d% OR %e%'

How can I have this output? 如何获得此输出?

I mean I want to do something like: 我的意思是我想做类似的事情:

'%mylist[0]% OR %mylist[1]% OR %mylist[2]% OR %mylist[3]% OR %mylist%[4]'

Use list comprehension and join 使用列表理解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%'
>>> 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%

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM