2012-06-07 32 views
5
l = ['1','2','3'] 
goal = ['<li>1</li>','<li>2</li>'] 

我怎樣才能從l得到goalPython「加入」字符串的兩側?

我在玩列表解析,但它很凌亂!

+3

你的意思是從你的「goal」中排除列表'l'中的最後一項(3)嗎? – Levon

回答

10

嘗試字符串格式和列表理解,就像這樣。使用str.format()

goal = ['<li>{0}</li>'.format(x) for x in l] 
+1

注意:不贊成使用%格式,格式更受歡迎。 – jamylak

+0

@jamylak啊,好點!我已經修改了我的答案。 – cheeken

+0

好可愛,謝謝。雖然我使用了你發佈的原始文件..「.format」似乎是多餘的。 – matt

0

隨着string.format方法

goal = ['<li>{0}</li>'.format(sym) for sym in l] 
1

兩個選項:

goal = map('<li>{0}</li>'.format, l) 

......或者......

goal = ['<li>{0}</li>'.format(x) for x in l] 

需要注意的是Python的3.x的map()將返回一個迭代器而不是一個列表,所以如果你想要一個列表,你需要使用list(map(...))