数据类型的内置方法:字典

数据类型的内置方法:字典

作用

  • 存储多组 key:value 键值对,key 对 value 具有描述性,key 通常都是字符串,value 可以是任意数据类型。
  • 存一个只or多个值:多个值
  • 有序or无序:无序
  • 可变or不可变:可变

定义

d = {'name':'jin','password':123}
# d = dict({'name':'jin','password':'123'})

# 强调:字典的 key 是不能重复的,如果重复了,只会按照最后一组重复的键值对存储。

定义字典的三种方式

# 掌握
dic =  {'name':'jin','password':123}
dic2 = dict(name = 'jin',password = 123)

# 了解
lis = [
    ['name','jason']
    ['password',123]
    ['age':18]
]
dic = dict(lis)
dic = {}
#for k,v in l:
#    dic[k] = v
#print(dic)

优先掌握的内置方法

1:按 key 存取值,可存可取

dic = {'name':'jin','password':123}
print(dic['name'])  # jin

2:按 key 改值

dic = {'name':'jin','password':123}
dic['name'] = 'jason'
print(dic)  # {'name': 'jason', 'password': 123}

3:len 长度

dic = {'name':'jin','password':123}
print(len(dic))  # 2
# 统计键值对的个数

4:成员运算 in 和 not in

dic = {'name':'jin','password':123}
print('name' in dic)  # True
print('name' in dic)  # false

5:删除 del, pop

# del 删除
dic = {'name':'jin','password':123}
del dic['name']
print(dic)  # {'password': 123}

# pop 删除(弹出)
dic = {'name':'jin','password':123}
res = dic.pop('password')
print(dic)  # {'name': 'jin'}
print(res)  # 123
# pop 按照 key 删除值后,可以得到一个返回值。(返回值是 value)

6:键 keys(),值 value(),键值对 items(),根据 key 获取 value :get()

dic = {'name':'jin','password':123}
# keys()
print(dic.keys())  # dict_keys(['name', 'password'])

# value()
print(dic.values())  # dict_values(['jin', 123])

# items()
print(dic,items())  # dict_items([('name', 'jin'), ('password', 123)])

# get() 与 dic['name'] 效果一样,但是不会报错,默认会返回一个 None 值
print(dic.get('name'))  # jin
print(dic.get('weight'))  # None
print(dic.get('weight','没有这个键值对哦'))  # 没有这个键值对哦
# get可以传第二个参数。当你的key不存在的情况下,返回第二个你写好的参数信息

7:fromkeys() 快速的创建一个字典

lis = ['name','password','hobby']
print(dict.fromkeys(lis,699))  # lis 为 key,699 为 value 不填为 None
# {'name': 699, 'password': 699, 'hobby': 699}

8:popitem 弹出键值对

dic = {'name':'jin','password':123}
print(dic.popitem())  # ('password', 123)
# 尾部以元组的形式弹出键值对

9:setdefault()

dic = {'name':'jin','pwd':123}
res1 = d1.setdefault('name','xxoo')  
# 当键存在的情况下 不修改值 并且将原先key对应值返回给你
print(dic,res1)  # {'name': 'jin', 'pwd': 123} jin

res2 = d1.setdefault('age',18)  
# 当键不存在的情况下 新增一个键值对 并且将新增的键值对的值返回给你
print(dic,res2)  # {'name': 'jin', 'pwd': 123, 'age': 18} 18

10:update()

dic = {'name':'jin','pwd':123}
dic2 = {'age':18}
dic.update(dic2)
print(dic)  # {'name': 'jin', 'pwd': 123, 'age': 18}

11:循环

dic = {'name':'jin','age':18,'height':180}
for i in dic:
    print(i)
# name
# age
# height
posted @ 2019-07-04 22:48  光吃葡萄皮  阅读(127)  评论(0编辑  收藏  举报
回顶部