字典内置方法
需要掌握!!
定义:大括号括起来,内部存放多个元素,元素与元素之间逗号隔开,元素的组织形式是:key:value键值对,其中key是对value的描述性性质的信息,一般是字符串,key必须是不可变类型,key不能重复,value是真正的数据,相当于变量值,可以是任意数据类型。
# 类型转换
info = dict(name='tony', pwd=123, age=28)
info1 = {}
info2 = dict([['name', 'tony'], ('age', 18)])
print(info, info1, info2)
dic = {'name': 'jack', 'age': 18, 'hobbies':['game', 'music']}
# 1.按key取值
# print(dic['name'])
# print(dic['pwd']) # 这时由于key不存在会报错
# 2.按key修改值(key存在修改,不存在则添加,使用频率很高高高高高高高高!!!!!!)
dic['name'] = 'jjjj'
dic['pwd'] = 123 # 添加新的键值对
# 3.统计字典内部 键值对 的个数
print(len(dic))
# 4.成员运算(默认只暴露key)
print(18 in dic) # False
print('name' in dic) # True
# 5.删除元素
# 方式一:
# del dic['name']
# 方式二:字典的pop()括号中必须放内容,不能空着,可以将key所对应的键值对弹出,给出value,
# dic.pop('age')
# print(dic.pop('age')) # 18
# 方式三:弹出键值对,组织成元组的形式,第一个元素是key,第二个元素是value,用的很少。
# dic.popitem() ('hobbies', ['game', 'music'])
# 6.获取value值
print(dic['name']) # 键不存在则报错,不推荐用该方式取值。
print(dic.get('name')) # 键不存在默认返回None。
print(dic.get('pwd', '嘎嘎嘎')) # 第二个参数是可以在key不存在时自定义返回的信息。
# 7.keys() values() items(),获取到的结果看成是列表,在python2中是列表,python3中是迭代器,items结果列表套元组,每个元组里面有两个值:key和value.
需要了解的!
dic = {'name': 'jack', 'age': 18, 'hobbies':['game', 'music']}
# 1.update()更新字典,存在则修改,不存在则创建
# dic.update({'name':'jasonLJ','pwd':123})
# 2.fromkeys()初始化字典,快速生成新字典
# dict.fromkeys(['k1','k2','k3'], [])
# 结果是{'k1': [], 'k2': [], 'k3': []}
# fromkeys 笔试题!!!!!!!!!!!!!
res = dict.fromkeys(['k1','k2','k3'], [])
res['k1'].append(111)
# 结果三个key的value全是 111,为什么呢?
# 原因在于三个key指向同一个列表,所以一个添加值了,三个全部添加相同的值。
res['k1'] = 111 # 这样就不会出现值全部相同的情况了。
# 3.setdefault()当键存在的情况下不修改,而是获取该键对应的值。
print(dic.setdefault('name', 'jasonLJ')) # jack
# 当键不存在的情况下,新增一组键值对,并且该方法的结果是新增的值。
print(dic.setdefault('pwd',123)) # 123
字典内容就到这里了。。。