如何从该Python字典中提取键名?解决切片引发的TypeError
解决Python字典提取键的TypeError问题
你触发的TypeError: unhashable type: 'slice',是因为误用了NumPy数组的切片语法[:,0]操作Python字典——字典本身不支持切片,切片对象无法作为字典的键来使用。
要提取self.accounts里的所有名称(也就是字典的键),有几种简单可行的方法:
- 用
keys()方法获取键视图,转成列表返回:
return list(self.accounts.keys())
- 直接遍历字典,默认遍历的就是键,转成列表即可:
return list(self.accounts)
注意:Python 3.7及以上版本的字典会保持插入顺序,所以上面两种方法得到的名称顺序和你定义字典时的顺序一致。如果是更早版本,需要用collections.OrderedDict来保证顺序,但现在一般无需额外处理。
内容的提问来源于stack exchange,提问作者Noah
相关产品推荐
相关产品推荐

