Python字典(dict)

字典是一种可变容器模型,且可存储任意类型对象。

字典的每个键值对( key:value )用冒号分割,每个对之间用逗号分割,整个字典包括在花括号 {}

d = {key1 : value1, key2 : value2, key3 : value3 }

1.创建字典

dict作为 Python 的关键字和内置函数,变量名不建议命名为 dict

键必须是唯一的,但值可以相同。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

d1 = {}#创建空字典
d2 = dict()#使用内建函数 dict()创建字典
d3 = {"name":"karen","age":23}
d4 = dict({"name":"jack","age":24})
​
print(d3)# 打印字典
print(len(d3))# 查看字典的数量
print(type(d3))# 查看类型

2.访问字典里的值

把相应的键放入到方括号中

mydic = {'Name': 'jack', 'Age': 16, 'Class': 'First'} 
print (mydic['Name'])
print (mydic['Age'])

如果用字典里没有的键访问数据,会输出错误

mydic = {'Name': 'jack', 'Age': 16, 'Class': 'First'} 
print (mydic['jack'])

3.修改字典

向字典添加新内容的方法是增加新的键值对,修改已有键值对

mydic = {'Name': 'jack', 'Age': 17}

#添加
mydic['Class'] = 'First'
print(mydic)
print (mydic['Class'])

print("--------------------")

#修改
print(mydic['Age'])
mydic['Age'] = 18
print (mydic['Age'])

4.删除字典元素

能删单一的元素也能清空字典,清空只需一项操作

显式删除一个字典用del命令

mydic = {'Name': 'jack', 'Age': 17, 'Class': 'First'}

del mydic['Class']  # 删除键 'Class'
print(mydic)

mydic.clear() # 清空字典
print(mydic)

del mydic # 删除字典
print(mydic)

5.字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

mydic = {'Name': 'jack', 'Age': 27, 'Name': 'karen'}
print (mydic['Name'])

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行

mydic1 = {97:"a",98:"b"}
mydic2 = {"name":"karen","age":27}
mydic3 = {("name",):"karen","age":27}
print(mydic1)
print(mydic2)
print(mydic3)

mydic4 = {['Name']: 'karen', 'Age': 27} #报错unhashable type: 'list'

6.字典常用API

操作字典的函数:

序号函数描述
1len(dict)计算字典元素个数,即键的总数。
2str(dict)输出字典,可以打印的字符串表示。
3type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。

字典的方法:

序号函数及描述
1dict.clear()删除字典内所有元素
2dict.copy()返回一个字典的浅复制
3dict.fromkeys(seq)创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
4dict.get(key, default=None)返回指定键的值,如果键不在字典中返回 default 设置的默认值
5key in dict如果键在字典dict里返回true,否则返回false
6dict.items()以列表返回一个视图对象
7dict.keys()返回一个视图对象
8dict.setdefault(key, default=None)和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2)把字典dict2的键/值对更新到dict里
10dict.values()返回一个视图对象
11pop(key,default)删除字典 key(键)所对应的值,返回被删除的值。
12popitem()返回并删除字典中的最后一对键和值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值