Python——1.4字典

1)字典类似map是无序序列,使用键-值(key-value)存储,具有极快的查找速度;
2)键(key)必须是不可变类型;
3)同一个字典中,键(key)必须是唯一,值(value)可以不唯一;
4)get():返回指定的key的值;若key不存在,则返回默认值None/自己设置的任意值;
注:dict中查找元素,是根据键(key)来查找;list与tuple是根据下标(index)来查找;

info={} #创建空字典
info={'name':'班长','id':100,'sex':'男','address':'大同'}
#1.字典的打印
print(info)
'''
get(key)与dict[key]访问元素的区别:
get(key):key不在字典时,可以返回默认值None/自己设置的默认值;
dict(key):key不在字典时,会触发KeyError异常;
pop(key):通过key,字典元素弹出;
keys():获取所有的key值
values():获取所有的value值
'''
#打印单个value
print(info['name']) #获取存在的key
#print(info['family']) #获取不存在的key;KeyError: 'family';获取不存在的key,会报错
print(info.get('name'))
print(info.get('family')) #获取不存在的key,返回None,不会出现异常
print(info.get('family',0)) #获取不存在的key,返回指定值0
print(info.get('family','m')) #获取不存在的key,返回指定值m
print(info.pop('sex'))
#直接获取所有的key和value
print(info.keys()) #输出为:dict_keys(['name', 'id', 'sex', 'address'])
print(info.values()) #输出为:dict_values(['班长', 100, '男', '大同'])
#2.循环遍历
'''
for循环:只能获取key
for循环+items方法:可以获取hey和value
'''
dict={'数学':99,'语文':90,'英语':'100'}
for key in dict:
    print(key,dict[key])
for key,val in dict:
    print(key,val)
for key,val in dict.items():
    print(key,val)

#3.基本操作
#增
'''
直接增加/合并添加
'''
dict['物理']='97'
print(dict) #输出为:{'数学': 99, '语文': 90, '英语': '100', '物理': '97'}
#合并字典
dict1={'a':1,'b':2}
dict2={'c':3,'d':4}
dict1.update(dict2)
print(dict1) #输出为:{'a': 1, 'b': 2, 'c': 3, 'd': 4}
#print(dict1+dict2) #输出为:TypeError: unsupported operand type(s) for +: 'dict' and 'dict'

#list转换为dict
'''
1)把2个list转为字典:dict(zip(list1,list2)
2)把1个嵌套list转为字典:dict2=dict([['key1',value1]])
'''

#删
'''
del dict[key]:通过key,进行整个键值对的删除,而不是只删除内容;
del dict:???why输出为<class 'dict'>
clear():清除字典内的元素
'''
del dict['物理']
print(dict) #输出为:{'数学': 99, '语文': 90, '英语': '100'}
#print(del dict['物理']) #SyntaxError: invalid syntax 无效语法错误
del dict
print(dict)#输出为:<class 'dict'>
#print(dict.clear()) #输出为:None

#查
print('name' in info) #True

#改(直接赋值更改)
dict1['a']=5
print(dict1) #输出为:{'a': 5, 'b': 2, 'c': 3, 'd': 4}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值