这可能是一个简单的问题,但我总是对此感到困惑。这是代码
routes = {}
for line in file:
match = gig_pattern.search(line)
if match:
intf = match.group(2)
routes[intf] = routes[intf]+1 if intf in routes else 1
在等号routes[intf]的左边,表示在routes字典中添加一个项。在等号的右边,routes[intf]怎么能变成一个整数?欢迎任何解释或现有解释的url。
区别不是方括号,而是等号。
方括号告诉python在列表或字典中的某个位置查找值:
> list_or_dict[key]
1
就其本身而言,像这样,python会返回值,或者在找不到值时抛出错误
但是,如果您使用等号,python会将等号右侧的值分配给左侧字典中指定的键:
> list_or_dict[key] = 2
> list_or_dict[key]
2
因此,等号的存在决定了方括号是获取值还是赋值。