【发布时间】:2012-06-07 23:10:09
【问题描述】:
l = ['1','2','3']
goal = ['<li>1</li>','<li>2</li>']
如何从l 获得goal?
我在玩列表推导,但它很乱!
【问题讨论】:
-
您的意思是从您的
goal中排除列表l中的最后一项(3)?
l = ['1','2','3']
goal = ['<li>1</li>','<li>2</li>']
如何从l 获得goal?
我在玩列表推导,但它很乱!
【问题讨论】:
goal 中排除列表l 中的最后一项(3)?
尝试字符串格式化和列表理解,就像这样。
goal = ['<li>{0}</li>'.format(x) for x in l]
【讨论】:
使用str.format()的两个选项:
goal = map('<li>{0}</li>'.format, l)
...或...
goal = ['<li>{0}</li>'.format(x) for x in l]
请注意,在 Python 3.x 上,map() 将返回迭代器而不是列表,因此如果您想要一个列表,则需要使用 list(map(...))。
【讨论】:
用string.format方法
goal = ['<li>{0}</li>'.format(sym) for sym in l]
【讨论】: