在列表中创建 n 个项目实例并连接一个字符串

我试图为列表中的每个项目创建 5 个实例,并为每个实例连接一个字符串,直到值“5”。


my_list=['A','B','C']

scores=[]

n=0

for i in my_list:

    scores.append([my_list[n]]*5)

    n+=1

print(scores)

输出


[['A', 'A', 'A', 'A', 'A'], ['B', 'B', 'B', 'B', 'B'], ['C', 'C', 'C', 'C', 'C']]

scores_list=[]

n=1

for list_of_lists in scores:

    while n<6:

        scores_list.append(scores[0][0]+'_'+str(n))

        n+=1

print(scores_list)

输出


['A_1', 'A_2', 'A_3', 'A_4', 'A_5']

预期的


[['A_1', 'A_2', 'A_3', 'A_4', 'A_5'], ['B_1', 'B_2', 'B_3', 'B_4', 'B_5'], ['C_1', 'C_2', 'C_3', 'C_4', 'C_5']]

我尝试使用更多 while 循环,但想不出其他任何东西。任何帮助,将不胜感激。


慕村225694
浏览 137回答 4
4回答

ABOUTYOU

一个简单的循环嵌套就可以完成这项工作。变化最快的值进入内部循环:scores = []for letter in "ABC":    list_5 = []    for number in range(1, 6):        list_5.append(letter + '_' + str(number))    scores.append(list_5)print(scores)输出:[['A_1', 'A_2', 'A_3', 'A_4', 'A_5'], ['B_1', 'B_2', 'B_3', 'B_4', 'B_5'], ['C_1', 'C_2', 'C_3', 'C_4', 'C_5']]

犯罪嫌疑人X

使用嵌套列表理解:>>> [[f"{char}_{num+1}" for num in range(5)] for char in my_list][['A_1', 'A_2', 'A_3', 'A_4', 'A_5'], ['B_1', 'B_2', 'B_3', 'B_4', 'B_5'], ['C_1', 'C_2', 'C_3', 'C_4', 'C_5']]

开心每一天1111

原始代码中的问题是,您从未在第一次迭代后将 n 的值重置回 1。但您甚至可以n通过以下方式跳过该变量:my_list=['A','B','C']duplications = 5scores=[]for i in my_list:&nbsp; &nbsp; scores.append([f'{i}_{n}' for n in range(1, duplications+1)])print(scores)输出:[['A_1', 'A_2', 'A_3', 'A_4', 'A_5'], ['B_1', 'B_2', 'B_3', 'B_4', 'B_5'], ['C_1', 'C_2', 'C_3', 'C_4', 'C_5']]

慕码人8056858

请使用我的代码。这很简单。my_list=['A','B','C']scores=[[f"{c}_{i+1}" for i in range(5)] for c in my_list]print(scores)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python