我正在使用 for 回圈從 A0 到 A49 創建并保存到串列中。下面的代碼
A = []
B = []
C = []
for i in range(50):
a = 'A\_%d' % i
b = 'B\_%d'%i
c = 'C\_%d'%i
A.append(a)
B.append(b)
C.append(c)
沒有for回圈我怎么能做到這一點?
我想改進上面的代碼。
因為我不擅長編程。我想通過研究不同的方法來提高我的技能。
uj5u.com熱心網友回復:
如果我沒記錯的話,你想要這樣的輸出:
['A0', 'A1', 'A2', ... , 'A49', 'A50']
而這一切都沒有單獨的for回圈。在 List Comprehension 的幫助下很容易做到這一點,這對于初學者來說是一種鮮為人知的方式,但非常有用。例如,假設您要將值存盤在從0到的串列中9。您可以通過兩種方式做到這一點:
- 第一種方法是使用單獨的
for回圈。
lst = list()
for i in range(10):
lst.append(i)
這會將值 from 0to添加9到 List lst。
- 第二種方法相對簡單且耗時較少,使用串列理解。
lst = list(i for i in range(10))
這將理解所有i迭代到 Listlst保存代碼行的值,如果我沒記錯的話,這也是你所要求的。此方法可以整理您的代碼并對其進行改進。
所以格式化的代碼看起來像這樣(您可以根據需要進行修改):
A = list(f"A{i}" for i in range(50))
希望我的回答有幫助。:)
如果需要,可以參考這篇文章以獲得更多說明:Python - 串列理解
編輯1:洗掉了指出錯誤的部分。您已經編輯了問題的錯誤部分,您的代碼沒有錯誤。
編輯 2:洗掉了不必要的反斜杠
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/449397.html
下一篇:For回圈優化以創建鄰接矩陣
