Python中的字典(dictionary)

dict(字典)可能是Python内建数据结构中最为重要的。

dict_1 = {}

dcit_2 = {'a':'some value','b':'[1,2,3,4]'}

words = ['apple','banana','abandon','extend','cba']

访问或设置字典中的元素,与列表和元组的方法一样。

dict_2[2] = 'extend'#dict_2={'a':'some value','b':'[1,2,3,4]',2:c}

dict_2['a']#返回some value

可以用像列表或元组一样的方法来判断是否存在一个这样的键

‘a’ in dict_2#返回True

可以使用del关键字或pop方法删除值,pop方法会在删除的同时返回被删除的值。

字典中的keys方法和values方法会分别返回字典键和值的迭代器:

list(dict_2.keys())=['a','b',2]

list(dict_2.values())=['some value','[1,2,3,4]','extend']

从序列生成字典:

字典本质是二元组的集合,字典是可以接受一个2-元组的列表最为参数的:

mapping = dict(zip(range(5),reversed(range(5))))#返回{0:4,1:3,2:2,3:1,4:0}

默认值(default):

get()方法

value = some_dict.get(key,default_value) 会在key参数不是字典键时返回None

setdefualt()方法:

与get()方法相似但当key在字典中不存在时会创建一个key的键并将default_value的付给它。

内建模块中有一个非常有用的类,defaultdict。是一个在各位置上生成默认值的函数。‘

如将列表words中的元素按首字母分类的包含列表的字典。

用setdefault方法实现:

by_letter = {}

for word in words:

letter = word[0]

by_letter.setdefault(letter,[]).append(word)

用defaultdict实现:

for collections import defaultdict

by_letter= defaultdict(list)

for word in words:

by_letter[word[0]].apend(word)

有效的键类型:

字典的值可以是任何python对象,当键必须是不可变的对象。比如标量类型(整数,浮点数,字符串)或元组(且元组内对象也必须是不可变对象,不能包含列表)

可以通过hash函数可以检查一个对象是否可以哈希化(作为字典的值)。

hash('string')#返回5023931462650008331  

为了将列表作为键可以将其转化为元组,而元组内部元素都可以哈希化,则他自己也可以哈希化

d= {}

d[tuple([1,2,3])]=5#返回[(1,2,3):5]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值