PYthon-字典

基础

  • 字典,又称hash哈希值、关系数组。是python唯一的映射类型,而非序列类型。
  • 特点:一个key对应一个value,实例如下:
dict1={'李宁':'一切皆有可能!','耐克':'Just do it!'}
print('耐克的口号是:',dict1['耐克'])

运行结果:

耐克的口号是: Just do it!

如果大括号里面有映射,则为字典;没有映射则为集合。

  • Python对键的要求相对要严格一些,要求它们必须是可哈希(Hash)的对象,不能是可变类型(包括变量、列表、字典本身等)。但是Python对值是没有任何限制的,它们可以是任意的Python对象。

基本用法

其他创建字典的方法

  • 序列方法(套了三个括号)
dict1=dict((('李宁','一切皆有可能!'),('耐克','Just do it!')))
  • 赋值方法(key不能有引号)
dict1=dict(李宁='一切皆有可能!',耐克='Just do it!')
  • 直接给键赋值(键存在则替换,不存在则添加)
dict1['苍井空'] = '让AV征服宅男'
  • dict()是一个工厂函数(类型),同样的还有str(),int(),list(),tuple()

  • fromkeys(s[,v])创建新的字典0.

>>> dict.fromkeys((1,3),'数字')
{1: '数字', 3: '数字'}

其他相关方法

  • keys() 返回字典的key;values()返回字典的值;items()返回整项
>>> dict1={}
>>> dict1=dict1.fromkeys(range(3),'赞')
>>> dict1
{0: '赞', 1: '赞', 2: '赞'}
>>> for eachKey in dict1.keys():
	eachKey	
0
1
2
>>> for eachValue in dict1.values():
	eachValue	
'赞'
'赞'
'赞'
>>> for eachItem in dict1.items():
	eachItem
(0, '赞')
(1, '赞')
(2, '赞')
>>> dict1.values()
dict_values(['赞', '赞', '赞'])
  • get() 访问字典,找不到对象时返回none/定义的参数
>>> print(dict1.get(6))
None
>>> print(dict1.get(6,'查无此词'))
查无此词
  • in/not in 成员资格操作符
    在字典中检查键(Key)是否存在比在序列中检查指定元素是否存在更高效。因为字典的原理是使用哈希算法存储,一步到位,不需要使用查找算法进行匹配,因此时间复杂度是O(1),效率非常高。
>>> 6 in dict1
False
  • dict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
>>> dict1.setdefault(6,666)
666
>>> dict1
{0: '赞', 1: '赞', 2: '赞', 6: 666}
  • clear()清空字典
    不建议用dict1={}的方法,dict1这个标签重新指向了新的地址,但原地址的值没有改变,清空不彻底。

  • copy() 浅拷贝字典
    和赋值不同,赋值给了新的id

  • pop(key[,default])
    删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

  • popitem()
    返回并删除字典中的最后一对键和值。

  • radiansdict.update(dict2)
    把字典dict2的键/值对更新到dict里

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值