python学习之字典

字典

字典是python的一种数据结构,也是一种可变容器模型,并且可以存储任意类型对象;
字典是由键和对应的值成对组成,键可以对应多个值,键和值之间使用冒号进行隔开,每个元素使用逗号隔开,元素存放在花括号中{}。
字典也被成为关联数组和哈希表;

字典常用方法

1.字典的创建
键必须独一无二,值可以去任何数据类型,但必须是不可变的;

#定义一个空的字典
dict1 = {}
print(dict1,type(dict1))
输出结果:
{} <class 'dict'>

#定义一个普通的字典
dict2 = {1:'a',2:'b',3:'c',4:'d'}
print(dict2,type(dict2))
输出结果:
{1: 'a', 2: 'b', 3: 'c', 4: 'd'} <class 'dict'>

2.访问字典的值
字典是根据键来访问值,如果键不存在,执行会报错;

dict2 = {1:'a',2:'b',3:'c',4:'d'}
print(dict2[2])
输出结果:
b

3.修改字典

dict2 = {1:'a',2:'b',3:'c',4:'d'}
dict2[2] = 'jjjj'
print(dict2)
输出结果:
{1: 'a', 2: 'jjjj', 3: 'c', 4: 'd'}

4.增加元素到字典

dict2 = {1:'a',2:'b',3:'c',4:'d'}
dict2[5] = 'jjjj'
print(dict2)
输出结果:
{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'jjjj'}

5.字典的删除

dict2 = {1:'a',2:'b',3:'c',4:'d'}
#删除字典键为2的值
del dict2[1]
print(dict2)
#清空字典的所有元素
dict2.clear()
print(dict2)
#删除字典
del dict2
print(dict2)
#执行会报错:NameError: name 'dict2' is not defined
输出结果:
{2: 'b', 3: 'c', 4: 'd'}
{}
NameError: name 'dict2' is not defined

6.字典的复制
副本的值改变不会对元数据产生影响

#返回一个字典的浅复制
dict2 = {1:'a',2:'b',3:'c',4:'d'}
dict1 = dict2.copy()
print(dict1,id(dict1))
print(dict2,id(dict2))
dict1[5] = 'hello'
print(dict1,id(dict1))
print(dict2,id(dict2)))
输出结果:
{1: 'a', 2: 'b', 3: 'c', 4: 'd'} 31033312
{1: 'a', 2: 'b', 3: 'c', 4: 'd'} 31033240
{1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: 'hello'} 31033312
{1: 'a', 2: 'b', 3: 'c', 4: 'd'} 31033240

7.字典的内置函数**

radiansdict.fromkeys()    #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
radiansdict.get(key, default=None)    #返回指定键的值,如果值不在字典中返回default值
radiansdict.has_key(key)    #如果键在字典dict里返回true,否则返回false
radiansdict.items()    #以列表返回可遍历的(键, 值) 元组数组
radiansdict.keys()    #以列表返回一个字典所有的键
radiansdict.setdefault(key, default=None)    #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
radiansdict.update(dict2)    #把字典dict2的键/值对更新到dict里
radiansdict.values()    #以列表返回字典中的所有值

转载于:https://blog.51cto.com/13606177/2352598

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值