加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Python中列表不能作为字典的键

(2008-07-09 14:09:15)
标签:

python

list

ip

会报

分类: Python
真的是把我搞死了……
Python中list实例是不能当作dict的关键字的!
例如:
ip = [ '127.0.0.1', '192.168.0.1' ]
ips = {}
ips[ ip ] = 'someip'
会报错:list object cannot be unhashed.

我想是因为字典的关键字必须是不可变的(unmutabl),而列表是本地可变的(mutable),所以不能用list来作为关键字。如果真的需要上面代码中类似的功能,可以将list转变为tuple即可。例如:
tuple( [1,2,3] ) 即得到:(1,2,3)。而tuple是本地不可变的,所以可以作为字典的关键字。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有