Python:将列表中字符串项的索引号附加到该项

2024-05-17 08:21:25 发布

您现在位置:Python中文网/ 问答频道 /正文

对于任何给定的字符串项列表,例如

my_list = ['foo', 'bar', 'baz', 'foo']

如何将每个项目的索引编号附加到列表中相应的项目上?用格式形成一个新的列表,例如

^{pr2}$

我的示例列表只有四个项目,但是我对任意数量的字符串项的通用答案感兴趣(对于4000个字符串项目的列表来说,这个方法同样适用于4个项目)

干杯!在


Tags: 项目字符串答案示例列表数量foomy
3条回答

试试这个。在

编辑:说明:下面的函数接受一个列表作为输入,并返回一个列表,其中元素编号附加在项目之后。附加到列表中每个项目末尾的数字根据输入列表的长度用零填充。因此,一个长度为30的列表具有附加的数字00到29;一个长度为3901的列表将附加数字0000到3900。在

from numpy import log10

def numberedList(inlist):
    i = 0
    z = int(log10(len(inlist))) + 1
    outlist = []
    for element in inlist:
        outlist.append(str(element) + str(i).zfill(z))
        i = i + 1
    return outlist

直接循环可以:

counter = 0
new_list = []
for each_item in the_list:
    new_list.append(each_item + str(counter))
    counter += 1

使用^{}进行列表理解也可以,但可读性较差:

^{pr2}$

一种更简单的方法:

new_list = [elm + str(index) for index, elm in enumerate(my_list)]

更新:使用Python3.6+和格式化字符串文本,您可以获得更可读的代码:

^{pr2}$

相关问题 更多 >