发布网友 发布时间:2022-04-24 20:12
共1个回答
热心网友 时间:2022-04-18 04:18
题主你好,
你使用L['y']从L字典中取值时,此时[]里的'y'它是字符串类型.
而你L字典里面的键实际上是Symbol类型.
看个例子理解一下:
我把题主的代码敲下来看,得到了字典类型的变量L,然后利用L.keys()获得字典的键,将其类型打印出来后,结果如图:
我们再看一个普通的字典:
也就是说L确实是一个字典,只不过当你输出L的值,{'x': 3, 'y': 3}, 时误以为字典中键的类型是字符串,从表面上看也确实挺迷惑人的.
-----
既然知道了是因为键的类型不对,那么解决办法也有了,就是构造一下Symbol类型的变量作为L的键即可:
=====
希望可以帮到题主, 欢迎追问.
追答客气