005-python之字典

一、认识字典
1、字典dict

字典是容器型数据类型,将{}作为容器的标志,里面多个键值对用逗号隔开

dict={'key1':'value1','key2':'value2','key3':'value3',....}

字典是可变的(支持增删改查);字典是无序的(不支持下标操作);顺序 不影响结果

元素的要求:字典的元素是键值对

​ 键的要求:不可变类型的数据,键唯一

​ 值的要求:没有要求

# 空字典
dict1={}
print(len(dict1),type(dict1))#0 <class 'dict'>

字典是无序的

print({'a':10,'b':20}=={'b':20,'a':10})# True

键是唯一的

print({'a':10,'b':20,'a':100})#{'a': 100, 'b': 20}
2、字典和列表的选择

如果同时保存的多个意义相同的数据选择列表;如果同时保存的多个意义不同的数据选择字典

二、字典的操作
1、查单个 获取字典某一个键对应的值

语法1

字典[键] 获取字典中指定键对应的值,如果键不存在则报错

print(dict1['体重'],dict1['name'])# 60 cindy

语法2

字典.get(键) 获取字典中指定键对应的值,如果键不存在返回None

字典.get(键,默认值) 获取字典中指定键对应的值,如果键不存在返回默认值

print(dict1.get('id')) # student
2、遍历

语法1 变量依次取到的是字典的键

for 变量 in 字典:
    循环体
dict1={'name':'cindy','age':18,'id':'student','身高':1.7,'体重':60}
for i in dict1:
    print(i)

语法2

for key,value in dict1.items():
    print(key,value)
3、增删改
3.1 改 修改某个键对应的值
字典[]=新值	将字典中指定键对应的值修改成指定的新值
dict1={'name':'cindy','age':18}
dict1['name']='lili'
print(dict) # {'name': 'lili', 'age': 18}
3.2 增 增加键值对

语法1

字典[]=值		如果键不存在,就在字典中添加键值对;如果键存在,就改变值
dict1={'name':'cindy','age':18}
dict1['color']='blue'
print(dict1) # {'name': 'cindy', 'age': 18, 'color': 'blue'}

语法2

字典.setdefault(key,value)   在字典中添加键值对;如果键存在,不改变值
dict1={'name':'cindy','age':18}
dict1.setdefault('color','blue')
print(dict1) # {'name': 'cindy', 'age': 18, 'color': 'blue'}
3.3删除
del 字典[]	删除字典中指定键对应的键值对
字典.pop()	取出字典中指定键值对
三、字典相关操作

字典不支持+、-、*、/、>、<、>=、<=

1、in 和 not in 判断字典中是否存在或者不存在指定的键
in  字典
键  not in 字典
2、相关函数
len(字典)		获取字典中键值对的数量
dict(字典)	将指定的数据转换成字典

能转换成字典的数据的要求:

a. 数据本省是一个序列

b. 序列中的元素必须是且只有两个元素的小序列

c. 小序列的第一个元素必须是不可变类型的数据

result=dict(['ab','dv','fd'])
print(result) # {'a': 'b', 'd': 'v', 'f': 'd'}
result=dict([('name','lili'),('age',10)])
print(result) # {'name': 'lili', 'age': 10}

注意 字典转换成列表,将字典所有的键作为列表的元素

dict1={'name':'cindy','age':18}
print(list(dict1)) # ['name', 'age']
3、相关方法

字典.xxx()

字典.clear()	清空字典
字典.copy()	拷贝字典,产生一个一模一样的新字典
字典.value()	获取字典所有的值
字典.key()	获取字典所有的键
字典.items()	将字典转换成一个序列,并且将每一个将只对转换成一个元组
字典1.update(字典2) 	将字典2所有的键值对都添加到字典1
d1 = {'a': 10, 'b': 20}
d2 = {'x': 100, 'y': 200}
d1.update(d2)
print(d1)   #{'a': 10, 'b': 20, 'x': 100, 'y': 200}

元组是不可变的列表 列表中和可变性无关的内容元组全部支持
元组:(数据1, 数据2, 数据3,…)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兮知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值