我正在嘗試使用 dict.update() 更新字典,其中鍵名是變數,如下所示:
Dict = {}
Var1 = 1
Var2 = 2
Dict.update(Var1=Var2)
print(Dict)
但是,這會輸出:
{'Var1':2}
而不是我需要的,即:
{1:2}
這不是我的代碼只是一個類似的例子,但是有沒有辦法讓它將變數作為變數而不是字串讀取?
uj5u.com熱心網友回復:
當您update像這樣使用時,您正在使用關鍵字 arguments,您可以在其中按名稱而不是按引數串列中的位置傳遞引數。此類引數中的關鍵字被視為名稱;擁有 variable 關鍵字的唯一方法是使用**kwargs語法將整個 dict 作為一組 key=value 引數傳遞。這意味著這將起作用。. .
update = { Var1: Var2 }
Dict.update(**update)
. . . 除了關鍵字必須是字串,而不是數字;嘗試使用您Var1的值為 1 作為關鍵字會觸發TypeError.
但是在您的情況下,您不需要update或其關鍵字引數;你可以只使用賦值:
Dict[Var1] = Var2
一些風格的東西:不要用大寫字母命名變數;這通常表明一個值是一個常數。另外,不要使用“Dict”作為變數名。這樣的名稱可能會影響內置函式,因為函式和變數在 Python 中共享相同的命名空間。例如,如果您為 賦值,則您dict剛剛洗掉了指向dict全域函式的指標。
uj5u.com熱心網友回復:
只是這個:
Dict[var1] = var2
呼叫“更新”是另一回事:它可以一次更新多個鍵,并且通常使用另一個作為位置引數傳遞的字典來呼叫它。在形式.update(par_name=value)中,語言將左側部分用作“命名引數”,并且在代碼中作為文字固定。
uj5u.com熱心網友回復:
除了兩個現有答案之外,如果您更喜歡使用更新,還可以執行以下操作:
Dict.update({Var1: Var2})
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/511265.html
標籤:Python字典变量
上一篇:有沒有辦法在for回圈之外訪問在for回圈中宣告的變數?
下一篇:添加區域變數和指標變數
