为列表中的每个项目附加/前置不同的字符

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']

【讨论】:

以上是关于为列表中的每个项目附加/前置不同的字符的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中将具有不同类型的项目列表作为字符串加入

如何根据原始列表相同的值但不同的索引创建新列表

如何为列表框中的每个项目设置不同的工具提示文本?

将项目附加到列表理解中的列表

如何将项目附加到 Pandas 中不同列的列表中

具有多个附加到列表的主键的数据库