【问题标题】: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';小错字。
  • 哎呀对不起!感谢指正

标签: python list append prepend


【解决方案1】:

您可以将list comprehensionenumerate 一起使用:

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

【讨论】:

    猜你喜欢
    • 2013-06-03
    • 2022-01-25
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    相关资源
    最近更新 更多