为列表中的每个项目附加/前置不同的字符
Posted
技术标签:
【中文标题】为列表中的每个项目附加/前置不同的字符【英文标题】:Append/Prepend a different character to each item in a list 【发布时间】:2014-04-10 21:43:46 【问题描述】:从一个列表开始,例如:
['aaaa', 'aaata', 'aaatt']
如何在每个项目的开头添加一个不同的字符来表示其顺序,即生成一个列表:
['>1/naaaa', '>2/naaata', '>3/naaatt']
谢谢
【问题讨论】:
第一个列表中的最后一项应该是'aaatt'
,而不是aaatt'
;小错字。
哎呀对不起!感谢指正
【参考方案1】:
您可以将list comprehension 与enumerate
一起使用:
>>> lst = ['aaaa', 'aaata', 'aaatt']
>>> [">/n".format(x, y) for x,y in enumerate(lst, 1)]
['>1/naaaa', '>2/naaata', '>3/naaatt']
>>>
编辑:
关于您的评论,您只需要string.ascii_lowercase
:
>>> from string import ascii_lowercase
>>> ascii_lowercase # Just to demonstrate
'abcdefghijklmnopqrstuvwxyz'
>>> lst = ['aaaa', 'aaata', 'aaatt']
>>> [">/n".format(ascii_lowercase[x], y) for x,y in enumerate(lst)]
['>a/naaaa', '>b/naaata', '>c/naaatt']
>>>
【讨论】:
有没有办法让它变成 a,b,c,d.... 而不是 1,2,3,4,5 等?谢谢你【参考方案2】:像这样使用enumerate
:
alist = ['aaaa', 'aaata', 'aaatt']
output = ['>/n'.format(idx, ele) for idx, ele in enumerate(alist, start=1)]
打印
['>1/naaaa', '>2/naaata', '>3/naaatt']
【讨论】:
以上是关于为列表中的每个项目附加/前置不同的字符的主要内容,如果未能解决你的问题,请参考以下文章