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

Python:将列表中字符串项的索引号附加到该项,python,string,list,integer,concatenation,Python,String,List,Integer,Concatenation,对于任何给定的字符串项列表,例如 my_list = ['foo', 'bar', 'baz', 'foo'] 如何将每个项目的索引号附加到列表中对应的项目?使用以下格式形成新列表,例如: new_list = ['foo0', 'bar1', 'baz2', 'foo3'] 我的示例列表只有四个项目,但我对任意数量的字符串项目的通用答案感兴趣,这对4000个字符串项目的列表和对4个字符串项目的列表同样有效 干杯 直for循环可以工作: counter = 0 new_list = [] f

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

my_list = ['foo', 'bar', 'baz', 'foo']
如何将每个项目的索引号附加到列表中对应的项目?使用以下格式形成新列表,例如:

new_list = ['foo0', 'bar1', 'baz2', 'foo3']
我的示例列表只有四个项目,但我对任意数量的字符串项目的通用答案感兴趣,这对4000个字符串项目的列表和对4个字符串项目的列表同样有效


干杯

直for循环可以工作:

counter = 0
new_list = []
for each_item in the_list:
    new_list.append(each_item + str(counter))
    counter += 1
一份包含以下内容的列表也可以,但可读性较差:

new_list = [each_item + str(index) for each_item, index in enumerate(the_list)]

直接for循环将起作用:

counter = 0
new_list = []
for each_item in the_list:
    new_list.append(each_item + str(counter))
    counter += 1
一份包含以下内容的列表也可以,但可读性较差:

new_list = [each_item + str(index) for each_item, index in enumerate(the_list)]
试试这个

编辑:说明:下面的函数将一个列表作为输入,并返回一个列表,列表中的元素号附加到该项。根据输入列表的长度,附加到列表中每个项目末尾的数字用零填充。因此,一个长度为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
试试这个

编辑:说明:下面的函数将一个列表作为输入,并返回一个列表,列表中的元素号附加到该项。根据输入列表的长度,附加到列表中每个项目末尾的数字用零填充。因此,一个长度为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
更简单的方法是:

new_list = [elm + str(index) for index, elm in enumerate(my_list)]
更新:使用Python 3.6+和格式化字符串文本,您可以获得更可读的代码:

new_list = [f'{elm}{index}' for index, elm in enumerate(my_list)]
更简单的方法是:

new_list = [elm + str(index) for index, elm in enumerate(my_list)]
更新:使用Python 3.6+和格式化字符串文本,您可以获得更可读的代码:

new_list = [f'{elm}{index}' for index, elm in enumerate(my_list)]

要从静态列表和重复列表创建列表,请执行以下操作:

# need: ['A','B','C','First1','Middle1','Last1','First2','Middle2','Last2',...]
['A','B','C']+[s+str(n) for n in range(1,len(names)+1) for s in ['First','Middle','Last']]

要从静态列表和重复列表创建列表,请执行以下操作:

# need: ['A','B','C','First1','Middle1','Last1','First2','Middle2','Last2',...]
['A','B','C']+[s+str(n) for n in range(1,len(names)+1) for s in ['First','Middle','Last']]

你能解释一下吗?