Jet*_*lex 0 python dictionary loops for-loop
我有一个键列表和一个值列表,我想填写一个字典,如下所示:
for key, value in listKeys, listValues:
dict[key] = value
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
builtins.ValueError: too many values to unpack (expected 2)
Run Code Online (Sandbox Code Playgroud)
你想要的zip功能,以使发电机tuple值以每次多个输入的:
mydict = {}
for key, value in zip(listKeys, listValues):
mydict[key] = value
Run Code Online (Sandbox Code Playgroud)
也就是说,你可以跳过编写自己的循环的困难,让dict构造函数完成工作; 它可以采用可迭代的键/值对来初始化自己,并完全避免Python级别循环:
mydict = dict(zip(listKeys, listValues))
Run Code Online (Sandbox Code Playgroud)
或者如果mydict是现有的非空dict,则使用update方法,该方法接受与构造函数相同的参数:
mydict.update(zip(listKeys, listValues))
Run Code Online (Sandbox Code Playgroud)
旁注:我将您的变量重命名为mydict,因为阴影内置名称dict是一个可怕的,可怕的想法.
| 归档时间: |
|
| 查看次数: |
10786 次 |
| 最近记录: |