5 回答
![?](http://img1.sycdn.imooc.com/545865da00012e6402200220-100-100.jpg)
TA贡献1843条经验 获得超7个赞
尝试一下:
keys =["area1","area2"]
dict_ = {}
for key in keys :
dict_[key] = ["x1_"+ key,"x2_"+ key]
dict_
![?](http://img1.sycdn.imooc.com/5333a2320001acdd02000200-100-100.jpg)
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']}
![?](http://img1.sycdn.imooc.com/5458620000018a2602200220-100-100.jpg)
TA贡献1744条经验 获得超4个赞
在循环内,您将重新定义dict_并覆盖现有值。使用不同的变量名称,或者完全内联其用法:
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
dict_.update({key : ["x1_" + key, "x2_" + key]})
这会占用 100% 以上的代码并仅修复特定问题。对于这个问题有更好、更“Pythonic”的解决方案,其他答案对此进行了解释。
![?](http://img1.sycdn.imooc.com/5458643d0001a93c02200220-100-100.jpg)
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_)
![?](http://img1.sycdn.imooc.com/545861c80001141e02200220-100-100.jpg)
TA贡献1780条经验 获得超1个赞
当考虑如何向字典添加项目时,这似乎dict_[key] = "answer" 是正确的选择。
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
dict_[key] = ["x1_" + key, "x2_" + key]
print(dict_)
添加回答
举报