3 回答

TA貢獻1796條經(jīng)驗 獲得超7個贊
您可以根據(jù)所需的變量使用鍵填充字典:
a = [2, 5, 4] output = {f"a_{i}": ["{:02d}".format(x) for x in range(1, i + 1)] for i in a}
然后您可以輕松訪問它們:
print(output["a_4"]) # ['01', '02', '03', '04']

TA貢獻1829條經(jīng)驗 獲得超13個贊
直接動態(tài)定義新變量是可能的,但不是很Pythonic...我的建議是構(gòu)建一個名為的字典res:
a = [2, 5, 4]
res = {n: [f"{i:02d}" for i in range(1, n + 1)] for n in a}
print(res) # {2: ['01', '02'], 5: ['01', '02', '03', '04', '05'], 4: ['01', '02', '03', '04']}
print(res[5]) # ['01', '02', '03', '04', '05']
(其中res[5]作為您的a_5)...
將變量動態(tài)添加到全局命名空間的混亂版本是:
a = [2, 5, 4]
for n in a:
globals()[f"a_{n}"] = [f"{i:02d}" for i in range(1, n + 1)]
print(a_2) # ['01', '02']
print(a_4) # ['01', '02', '03', '04']
print(a_5) # ['01', '02', '03', '04', '05']

TA貢獻1845條經(jīng)驗 獲得超8個贊
這能回答你的問題嗎?
a = [2,5,4] a_2, a_5, a_4 = [['0'+str(x) for x in range(b)] for b in a]
添加回答
舉報