031 字典类型内置方法

一、字典类型内置方法(dict)

1. 用途:

存多个值,但每一个值都有一个key与之对应,key对值有描述功能。多用于存的值表示的是不同的状态时,例如存的值有姓名、年龄、身高、体重、爱好。

2. 定义方式:

{}内用逗号分隔开多个元素,每一个元素都是key:value的形式,value可以是任意数据类型,而key通常应该是字符串类型,但是key必须为不可变类型。

3.内置方法:

3.1 优先掌握

  1. 按key取值,即可取也可改变
  2. 长度len
  3. 成员运算in和not in
  4. 删除del
  5. 键keys()、值values()、键值对items()
  6. 循环

1.按key取值,即可取也可改变

print(f"{'按key取值,即可取也可改变':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
print(info_dict['hobby_list'])
info_dict['age'] = 20
print(info_dict)

-------------------------------------------按key取值,即可取也可改变-------------------------------------------
['dapao', '666', '233']

2.长度len

print(f"{'长度len':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
print(len(info_dict))

-----------------------------------------------长度len------------------------------------------------
5

3.成员运算in和not in

print(f"{'成员运算in和not in':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
print('name' in info_dict)

-------------------------------------------成员运算in和not in--------------------------------------------
True

4.删除del

print(f"{'del删除':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
del info_dict['name']
print(info_dict)

-----------------------------------------------del删除------------------------------------------------

5.键keys、值values、键值对items(items用的最多,一般和解压缩一起用)

print(f"{'键keys、值values、键值对items(items用的最多,一般和解压缩一起用)':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
print(list(info_dict.keys()))  # list
print(list(info_dict.values()))  # list
print(list(info_dict.items()))  # list

----------------------------键keys、值values、键值对items(items用的最多,一般和解压缩一起用)-----------------------------
['name', 'gender', 'hobby_list']
['wangdapao', 'female', ['dapao', '666', '233']]
[('name', 'wangdapao'), ('gender', 'female'), ('hobby_list', ['dapao', '666', '233'])]

6.for循环

print(f"{'for循环':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
for k, v in info_dict.items():  # 解压缩方式
    print(k, v)

name wangdapao
gender female
hobby_list ['dapao', '666', '233']

3.2 需要掌握

  1. copy拷贝
  2. pop删除
  3. popitem删除键值对
  4. clear清空字典
  5. get获取值
  6. update更新字典
  7. fromkeys由dict.出来,快速造一个字典
  8. setdefault(有则不变,无则往里面追加了值)

1.copy拷贝

info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
print(info_dict.copy())

-----------------------------------------------copy拷贝-----------------------------------------------

2.pop删除

print(f"{'pop删除':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
info_dict.pop('name')
print(info_dict)

-----------------------------------------------pop删除------------------------------------------------

3.popitem删除键值对

print(f"{'popitem删除键值对':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
info_dict.popitem()  # 早期的时候字典是无序的,是随机删除的,但是由于python3底层优化了字典,让字典看的貌似有序了,所以默认删除最后一个
print(info_dict)

--------------------------------------------popitem删除键值对--------------------------------------------

4.clear清空字典

print(f"{'clear清空字典':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
info_dict.clear()
print(info_dict)

--------------------------------------------popitem删除键值对--------------------------------------------
{}

5.get获取值

print(f"{'get获取值':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
print(info_dict.get('age'))	# 使用get函数的好处是没有该键值对,则返回None
print(info_dict.get('name1', 'cyx'))  # 如果有,就返回真正的值;如果没有,默认返回None,也可以指定返回

-----------------------------------------------get获取值-----------------------------------------------
None
cyx

6.update更新字典

print(f"{'update更新字典':-^100}")
info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
info_dict.update({'a':1})
print(info_dict)

---------------------------------------------update更新字典---------------------------------------------

7.fromkeys由dict.出来,快速造一个字典

# fromkeys由dict.出来,快速造一个字典
print(f"{'fromkeys由dict.出来,快速造一个字典':-^100}")
print(dict.fromkeys(['a',2,3,4,5],'baba'))

--------------------------------------fromkeys由dict.出来,快速造一个字典--------------------------------------

8.setdefault(有则不变,无则往里面追加了值)

info_dict = {'name': 'wangdapao', 'gender': 'female', 'hobby_list': ['dapao', '666', '233']}
info_dict.setdefault('gender', 123123)  # 有则不变,无则往里面追加了值
print(info_dict)

-------------------------------------setdefault(有则不变,无则往里面追加了值)-------------------------------------

4. 存一个值还是多个值:

多个值

5. 有序or无序:

无序

6. 可变 or 不可变(重点 可变:值变id不变,不可哈希| 不可变:值变id也变,可哈希):

可变

posted @ 2019-08-05 16:30  正在学习的Barry  阅读(158)  评论(0编辑  收藏  举报
-->