字典内置方法(含笔试题!)

字典内置方法

字典内置方法(含笔试题!)

需要掌握!!

定义:大括号括起来,内部存放多个元素,元素与元素之间逗号隔开,元素的组织形式是: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

字典内容就到这里了。。。
字典内置方法(含笔试题!)

上一篇:leetcode1394.找出数组中的幸运数


下一篇:第一个只出现一次的字符位置