Python 使用for循环填充字典
我想创建一个如下所示的词典:Python 使用for循环填充字典,python,loops,dictionary,Python,Loops,Dictionary,我想创建一个如下所示的词典: {'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_.up
{'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']}
原始代码覆盖第一个值 以下代码将在不覆盖的情况下更新:
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_)
原始代码覆盖第一个值 以下代码将在不覆盖的情况下更新:
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_)
在您的循环中,您正在重新定义
dict\uz
,从而覆盖现有的值。使用不同的变量名,或完全内联其用法:
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
dict_.update({key : ["x1_" + key, "x2_" + key]})
这将占用您100%的代码,并修复特定的问题。对于这个问题,有更好、更“Pythonic”的解决方案,这在其他答案中进行了解释。在您的循环中,您正在重新定义dict,从而覆盖现有的值。使用不同的变量名,或完全内联其用法:
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
dict_.update({key : ["x1_" + key, "x2_" + key]})
这将占用您100%的代码,并修复特定的问题。对于这个问题,有更好、更“Pythonic”的解决方案,其他答案对此进行了解释。试试这个
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']}
试试这个
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']}
试试看:
keys =["area1","area2"]
dict_ = {}
for key in keys :
dict_[key] = ["x1_"+ key,"x2_"+ key]
dict_
试试看:
keys =["area1","area2"]
dict_ = {}
for key in keys :
dict_[key] = ["x1_"+ key,"x2_"+ key]
dict_
在研究如何将项目添加到字典时,它看起来像是
dict\ukey]=“answer”
这是一条路要走
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
dict_[key] = ["x1_" + key, "x2_" + key]
print(dict_)
在研究如何将项目添加到字典时,它看起来像是
dict_uukey]=“answer”
这是一条路要走
dict_ = {}
keys = ["area1", "area2"]
for key in keys:
dict_[key] = ["x1_" + key, "x2_" + key]
print(dict_)
您进行过任何调试吗?我建议你阅读。你做过调试吗?我建议你读书。