5 回答

TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
嘗試一下:
keys =["area1","area2"]
dict_ = {}
for key in keys :
dict_[key] = ["x1_"+ key,"x2_"+ key]
dict_

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
嘗試這個(gè)
res = {k: [f'{x}_{k}' for x in ('x1', 'x2')] for k in keys} print(res)
輸出:
{'area1': ['x1_area1', 'x2_area1'], 'area2': ['x1_area2', 'x2_area2']}

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊
在循環(huán)內(nèi),您將重新定義dict_并覆蓋現(xiàn)有值。使用不同的變量名稱,或者完全內(nèi)聯(lián)其用法:
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
dict_.update({key : ["x1_" + key, "x2_" + key]})
這會(huì)占用 100% 以上的代碼并僅修復(fù)特定問題。對(duì)于這個(gè)問題有更好、更“Pythonic”的解決方案,其他答案對(duì)此進(jìn)行了解釋。

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
原始代碼覆蓋第一個(gè)值。
以下代碼將更新而不覆蓋:
keys =["area1","area2"]
dict_ = {}
for key in keys :
x = {key : ["x1_"+ key,"x2_"+ key]}
dict_.update(x)
# {'area1': ['x1_area1', 'x2_area1'], 'area2': ['x1_area2', 'x2_area2']}
print(dict_)

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
當(dāng)考慮如何向字典添加項(xiàng)目時(shí),這似乎dict_[key] = "answer" 是正確的選擇。
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
? ? dict_[key] = ["x1_" + key, "x2_" + key]
print(dict_)
添加回答
舉報(bào)