【发布时间】:2021-01-01 11:55:03
【问题描述】:
我是 Python 新手,来自 Perl,我经常使用这样的东西:
#!/usr/bin/env perl
my %d;
my $a = 12; $b = 14; $c = 16;
$d{$a}{$b}{$c} = 42;
print($d{$a}{$b}{$c}); # 42
如何在 python 中填充字典,例如在一个循环中
如果我用 Python 试试这个,我得到了一个 KeyError
a = 12
b = 14
c = 16
my_dict[a][b][c] = 42 # KeyError
这是唯一的方法吗?
if a in my_dict:
if b in my_dict[a]:
my_dict[a][b][c] = 42
else:
my_dict[a][b] = {}
my_dict[a][b][c] = 42
else:
my_dict[a] = {}
my_dict[a][b] = {}
my_dict[a][b][c] = 42
【问题讨论】:
-
这似乎不是
dict(),恕我直言。它看起来更像是一个多维数组。 -
您的 Perl 代码以空 dict 开头,您的 python 代码明确构建为不这样做。你要哪种情况?
标签: python python-3.x dictionary nested