4 回答

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
一個(gè)簡(jiǎn)單的循環(huán)嵌套就可以完成這項(xiàng)工作。變化最快的值進(jìn)入內(nèi)部循環(huán):
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']]

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用嵌套列表理解:
>>> [[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']]

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超13個(gè)贊
原始代碼中的問(wèn)題是,您從未在第一次迭代后將 n 的值重置回 1。但您甚至可以n通過(guò)以下方式跳過(guò)該變量:
my_list=['A','B','C']
duplications = 5
scores=[]
for i in my_list:
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']]

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
請(qǐng)使用我的代碼。這很簡(jiǎn)單。
my_list=['A','B','C']
scores=[[f"{c}_{i+1}" for i in range(5)] for c in my_list]
print(scores)
添加回答
舉報(bào)