Python:字典

一、字典

键key——值value

python的字典在很多地方也称为哈希值hash或者关系数组;

字典是Python中唯一的一种映射类型;一对一或者多对一;花括号

>>> brand = ['lining', 'nike', 'addiss', 'yuc']
>>> slogan = ['all inpassbale', 'just do it', 'impossible is nothing', 'coding change world']
>>> print('the word of yuc is:', slogan[brand.index('yuc')])	不简洁,效率也不高
the word of yuc is: coding change world
>>> dict1 = {'lining':'all impassbale', 'nike':'just do it', 'yuc':'coding change world'}	使用字典,创建
>>> print('the word of yuc is:', dict1['yuc'])		引用
the word of yuc is: coding change world


用dict()创建字典,是个工厂函数类型),严格上讲不是bif

dict1 = {}      创建空字典     dict()
dict1 = dict((('a', 1), ('b', 2), ('c', 3)))传进去的是映射关系,这里用的是元组,也可用用列表;dict(mapping)
dict1 = dict(小甲鱼=‘让编程改变世界’, 苍井空=‘让av征服宅男’)   小甲鱼加上引号会报错
dict4['d'] = '4   添加和修改

二、字典的内建方法dir(dict)

从序列键和值设置为value来创建一个新的字典

fromkeys()      不能用它来修改字典键值

>>> dict1 = {}
>>> dict1 = dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict = dict1.fromkeys((1,2,3),'Number')
{1: 'Number', 2: 'Number', 3: 'Number'}
>>> dict1 = dict.fromkeys((1,2,3), ('one', 'two', 'three'))
{1: ('one', 'two', 'three'), 2: ('one', 'two', 'three'), 3: ('one', 'two', 'three')}

访问:

for key in dict1.keys():
for value in dict1.values():
for item in dict1.items():用元组返回(k,v)
for k, v in dict1.items()

访问时当键不存在时会报错keyerror;所以有个get()方法

dict1.get(4)        #4不存在,返回None

dict1.get(4, 'not  in')     #4不存在,返回"not in"

可以用in判断key是否在

dict1.setdefault(4, 'a')   #4不存在,创建4 : ‘a‘

dict1.setdefault(4)     #4不存在,创建4 : None


清空字典,建议使用clear()方法

dict1.clear()
dict1 = {}	用这个方法不严谨,因为当两个变量指向一个对象时,将一个变量赋值为{},实际另一个还在映射着,所以还会存在

拷贝:

dict1.copy()浅拷贝(可以用id看,id不一样)

弹栈:

dict1.pop(key)给定键弹出值
dict1.popitem()随机弹出一个,因为字典里没有顺序

更新:

a = {1:'one', 2:'two'}
b = {1: 'yi'}
a.update(b)用b跟新a  返回{1:'yi', 2:'two'}




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值