Python学习--字典

stu_id={'name':'张三','age':18,'sex':'男','math':60,'eng':60,'chinese':80,'address':['地球','亚洲']}  
print(stu_id)  

一、性质

  • 1.字典是dict,容器符号是{}

  • 2.字典中每个元素用逗号隔开,每个元素被称为一个键值对(key:value)

key:仅仅是对value的解释说明,一般建议用字符串,key可以使任意一个不可变数据类型

value:是字典要存储的数据,value可以使任意的数据类型

  • 3.字典是可变的数据类型,在python3.7以前字典无序,python3.7以后有序,但是使用一定按照无序使用

没有特殊说明,针对于字典的所有操作都是对键的操作

二、字典的循环遍历

获取到的是键值对的键

stu_info={'name':'张三','age':18,'sex':'男',  
        'math':60,'eng':60,'chinese':80,'address':['地球','亚洲']}  

三、字典是通过键来获取值

语法:字典[key]

for i in stu_info:  
    print(i,stu_info[i])  
  

四、利用字典进行登录

字典的成员运算--->判断自带中是否存在某个键

username_pwd={'admin':'123456','fyk':'123456789'}  
input_username='admin'  
input_pwd='123456'  
if input_username in username_pwd and username_pwd[input_username]==input_pwd:  
    print('登陆成功')  
else:  
    print('用户名或密码错误')11

一、通过键取值

stu_info = {'name': 'aaa', 'age': 18}  

如果要使用:字典{key}的形式获取值,有报错的概率,可以使用get()

print(stu_info['tel'])
result = stu_info.get('age')  
print(result)  

get():如果某个key不存在,默认返回None

其实还可以添加第二个参数,第二个参数就是自定义返回结果

result_1 = stu_info.get('tel', '不存在')  
print(result_1)  

二、键值对获取相关方法

keys:获取一个字典所有的键

print(stu_info.keys())  

values:获取一个字典所有的值

print(stu_info.values())  

items:获取一个字典所有的键值对

print(stu_info.items())  

解包操作与items与循环遍历的结合

for key, value in stu_info.items():  
    print(key, value) 

三、字典的增删改

new_dict = {}  

1.增加

setdefault-->如果key不存在则添加,存在则无变化

new_dict.setdefault('eng', 19)  
print(new_dict)  
new_dict.setdefault('eng', 60)  
print(new_dict)

update-->可以将另一个字典中所有的元素添加到字典中,如果键存在则进行修改

new_dict.update({'chinese': 100, 'sport': 60})  
print(new_dict)  
new_dict.update({'chinese': 90})  
print(new_dict)  

字典[key]=value-->如果key存在是修改操作,不存在则为添加操作

new_dict['math'] = 100  
print(new_dict)  
new_dict['math'] = 60  
print(new_dict)

2.删除操作

del:指定删除某个列表的某个键对应的元素(键值对)

del new_dict['eng']  
print(new_dict)  

pop():根据键删除键值对,返回value

print(new_dict.pop('sport'))  

各种方法返回值的问题

有些方法在底层源码设定时允许有返回值,return

有些方法没有返回值:return

四、dict方法的使用

  • 1.数据必须是个容器

  • 2.容器中的元素依旧是容器

  • 3.最内层容器必须有两个元素

  • 4.必须保证第一个元素不可变

print(dict([('name', '张三'), ('age', 20)]))  
print(dict(['ab', 'cd']))  
print(dict(([1, 2], [3, 4])))  

五、字典生成式(推导式)

除了容器符号不一样,除了元素样式不一样之外,与列表生成式一模一样

练习:请筛选出股价大于70的数据,使用字典生成式

com_dict = {  
    'apple': 100,  
    'mi': 70,  
    'oppo': 60,  
    'vivo': 60  
}  
result_1 = {i: com_dict.get(i) for i in com_dict if com_dict.get(i) >= 70}  
result_2 = {i: com_dict[i] for i in com_dict if com_dict[i] >= 70}  
result_3={key:value for key,value in com_dict.items() if value>=70}  
print(result_1,result_2,result_3,sep='\n')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值