亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 for 循環填充字典

使用 for 循環填充字典

素胚勾勒不出你 2023-06-27 14:21:48
我想創建一個如下所示的字典:{'area1': ['x1_area1', 'x2_area1'], 'area2': ['x1_area2', 'x2_area2']}我正在嘗試使用 for 循環:dict_ ={} keys =["area1","area2"] for key in keys :      dict_ = {key : ["x1_"+ key,"x2_"+ key]}     dict_.update(dict_)但我得到這個輸出:{'area2': ['x1_area2', 'x2_area2']}
查看完整描述

5 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

嘗試一下:


keys =["area1","area2"]

dict_ = {}

for key in keys : 

    dict_[key] = ["x1_"+ key,"x2_"+ key]

    

dict_


查看完整回答
反對 回復 2023-06-27
?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

嘗試這個

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']}


查看完整回答
反對 回復 2023-06-27
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

在循環內,您將重新定義dict_并覆蓋現有值。使用不同的變量名稱,或者完全內聯其用法:


dict_ = {}

keys = ["area1", "area2"]

for key in keys:

    dict_.update({key : ["x1_" + key, "x2_" + key]})

這會占用 100% 以上的代碼并僅修復特定問題。對于這個問題有更好、更“Pythonic”的解決方案,其他答案對此進行了解釋。




查看完整回答
反對 回復 2023-06-27
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

原始代碼覆蓋第一個值。


以下代碼將更新而不覆蓋:



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_)


查看完整回答
反對 回復 2023-06-27
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

當考慮如何向字典添加項目時,這似乎dict_[key] = "answer" 是正確的選擇。


dict_ = {}

keys = ["area1", "area2"]

for key in keys:

? ? dict_[key] = ["x1_" + key, "x2_" + key]

print(dict_)

查看完整回答
反對 回復 2023-06-27
  • 5 回答
  • 0 關注
  • 239 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號