假設我有一個由 Show 表示的函式,它通過訪問串列中的點來運行。那么是否可以將函式的每個結果分配給一個變數?變數是否有可能由 dfi 定義,因此輸出將是 df1、df2、df3 等……只要由計數定義?
count = 5
for i in range(0, count):
d = Show(list[i])
uj5u.com熱心網友回復:
動態命名可以通過使用不推薦用于正常使用的高級 Python 功能來實作(參見例如動態設定區域變數)。
如果你提前知道元素的數量,你可以做
df1, df2, df3, df4, df5 = [Show(list[i]) for i in range(5)]
如果不這樣做,最好使用串列來存盤結果。
count = 5
d = []
for i in range(0, count):
d.append(Show(list[i]))
哪個可以寫得更優雅
d = [Show(list[i]) for i in range(count)]
甚至是一本字典
d = [f"df{i}": Show(list[i]) for i in range(count)]
uj5u.com熱心網友回復:
您可以使用 dict 通過將變數存盤為鍵來做到這一點。一個示例可能是這樣的:
count = 5
dic = {}
for i in range(count):
#create key, that would be the variable
k = "df{}".format(i)
dic[k] = show(list[i])
現在您可以使用 dict 來獲取和使用 O(1) 中的變數,這與您明確定義變數并存盤它們是一樣的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/322688.html
上一篇:結果在嵌套for回圈中的列印輸出和存盤向量之間有所不同。是什么賦予了?
下一篇:生成字典并不總是有效
