似乎无法在此列表中添加百分比?

时间:2012-12-18 04:18:29

标签: python list

我有一个这样的清单:

la = [3, 7, 8, 9, 50, 100]

我正在尝试将列表转换为字符串并添加如下百分比:

3%, 7%, 8% and lastly 100%

我这样做:

str1 = '%, '.join(str(e) for e in sorted_list) 

它是正确的,除了最后没有百分比,只有100但我想要100%。我怎样才能做到这一点?感谢

5 个答案:

答案 0 :(得分:5)

', '.join('%d%%' % (x,) for x in la)

答案 1 :(得分:2)

是的,它正在按照预期做的:将'%', BETWEEN 放在每个元素上。简单来说......

str1 = '%, '.join(str(e) for e in sorted_list) + '%'

(如果sorted_list可能为空,则应处理该情况)

答案 2 :(得分:1)

你的意思:

print map(lambda n: str(n) + '%', [3, 7, 8, 9, 50, 100])

这会创建一个列表,其中包含所有转化为字符串的百分比。

如果你仍然想要一个字符串,你可以稍微修改它:

str1 = ', '.join(map(lambda n: str(n) + '%', [3, 7, 8, 9, 50, 100]))

答案 3 :(得分:1)

la = [3, 7, 8, 9, 50, 100]
(lambda k: ' and lastly '.join([', '.join(k[:-1]), k[-1]]))(["%s%%" % a for a in la])
# '3%, 7%, 8%, 9%, 50% and lastly 100%'

编辑:小的下标错误(然后再次,如Rohit Jain所说......:D)

答案 4 :(得分:0)

python 3.2
str1 = ','.join(str(e)+"%" for e in sorted_list)