Python进阶3字典

1:什么是字典

字典是一个无序的。也算是成对存在的。

键经过哈希函数进行计算,然后得出他的地址值,所以这字典存储的内容地址式不能变的

2:字典的原理

字典查找方便,根据键进行查找

3:字典的创建与删除

'''字典的创建'''
#使用花括号{}
d={'姓名':'毛腾凯','身份':'社会主义接班人','年龄':'19岁'}
print(d)
#使用内置函数进项创建
d=dict(姓名='maotengkai',特点='长得帅')
print(d)
#创建空字典
d={}
print(d)
print(type(d))

{‘姓名’: ‘毛腾凯’, ‘身份’: ‘社会主义接班人’, ‘年龄’: ‘19岁’}
{‘姓名’: ‘maotengkai’, ‘特点’: ‘长得帅’}
{}
<class ‘dict’>

4:字典的查询操作

获取字典中数据元素:

方法一:字典名[字典中的键]一半字典中的键都是字符串,所以带’’

方法二:字典名.get('键’):可以输出这个字典里面这个键所指向的值,在get方法里还可以输出如果查找不到报的错误信息。如果没有查找到,会输出报错内容,并且程序不报错,并且有一个默认的值,None,也可以自己设置

字典名.get(’ 字典的键 ',‘错误提示’)

#获取字典中数据元素
#方法一:字典名[字典中的键]一半字典中的键都是字符串,所以带''
d={'姓名':'毛腾凯','身份':'社会主义接班人','年龄':'19岁'}
print(d['姓名'])
print(d['身份'])
print(d['年龄'])
print(d['姓名'],d['身份'],d['年龄'],end='')
#方法二:字典名.get('键’):可以输出这个字典里面这个键所指向的值
print('---------------------方法2--------------------')
print(d.get('年龄'))
print(d.get('姓名'))

添加end=’ '可以防止她进行换行,如果不写,那就会下一行是空格

5:字典元素的增。删。改操作

这里的增删都是一对一对讲的,键-------值为一对

1,字典的增加:直接对键进项赋值,

字典名[‘键’]=这个键里面存的值

2,字典的删除:

del 字典名[’ 键’]

3,字典的修改:

直接赋值给先要修改的键

字典名[‘键’]=想要修改的值

4,清空字典:

字典名.clear()

把字典里面的数据清空,只留一个空字典

#字典的删除与修改,增加
s={‘张三’:100,‘李四’:89}
print(s)
#增加:
s[‘王五’]=99
print(s)
#修改
s[‘王五’]=100
print(s)
#删除
del s[‘张三’]
print(s)
#清空里面的数据,但是字典还存在。
s.clear()
print(s)

5,判断数据元素在不在字典里面
print('张三’in s)
print(‘张三’ not in s)

6,获取字典里面所有的键,需要配合输出函数进行输出

字典名.keys()

7,

8,获取所有的键:字典名.keys()

9,获取所有的值:字典名.values()

10,获取所有的键与值:字典名.items()

#获取所有的键
print(s.keys())
获取所有的值
print(s.values())
获取所有的键和值
print(s.items())

11.字典的遍历:

for i in 字典名:

​ print(i) :输出的式字典的键

	print(字典名['  i  '])    :输出字典的值

​ print(字典名.get(’ i ')) 输出字典的值

2.字典的特点

1,字典中所有元素都是一个key -value对,key不允许重复,val允许重复。

2,字典中的元素式无序的

3,字典中的key必须是不可变的对象

4,字典也可以根据需要动态地伸缩

5,字典也会浪费较大的内存,是一种使用空间换取时间的数据结构

6:字典的推导式

两个列表名 i,t

分别写好两个列表

列表生成式:

生成的列表名= { i : t for i, t in zip( i, t) }

items=['vegtable','frust']
price=[10,20]
s={items :price  for  items,price in zip(items,price)}
print(s)
#如果不对应的话,则按少的算
i=['毛腾凯','年龄','爱好','的帅哥']
t=['是','小','女孩']
s={i:t for i,t in zip(i,t)}
print(s)

‘vegtable’,‘frust’]
price=[10,20]
s={items :price for items,price in zip(items,price)}
print(s)
#如果不对应的话,则按少的算
i=[‘毛腾凯’,‘年龄’,‘爱好’,‘的帅哥’]
t=[‘是’,‘小’,‘女孩’]
s={i:t for i,t in zip(i,t)}
print(s)

  • 23
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值