我有一个这样的清单:
la = [3, 7, 8, 9, 50, 100]
我正在尝试将列表转换为字符串并添加如下百分比:
3%, 7%, 8% and lastly 100%
我这样做:
str1 = '%, '.join(str(e) for e in sorted_list)
它是正确的,除了最后没有百分比,只有100但我想要100%。我怎样才能做到这一点?感谢
答案 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)