标签:对象 pre 形式 高仿 默认 default upd 电脑 表示
? dict关键字 , 以 {} 表示, 以key:value形式保存数据 ,每个逗号分隔
? 键: 必须是可哈希,(不可变的数据类型),必须是唯一的
? 值: 任意数据类型
? 查询的效率非常高,通过key来查找元素
? 内部使用key来计算一个内存地址(暂时), hash算法,key必须是不可变的数据类型(key 必须是可哈希的数据类型),key必须是不可变的数据类型
? 字典是无序的, python3.6版本以上,默认定义顺序,3.5以下随机显示
####增
#setdefault('键名','值')
#两个含义:
#1.如果key不存在就执行新增.
#2.如果key已经存在,就不在新增,就执行查询
dic.setdefault('键名','值')
#添加键值
dic['键名']='值'
####删
#pop 通过键,删除,返回被删除的键锁对应的值
dic.pop('键名')
#popitem() 随机删除
dic.popitem()
#del dic[键名] #指定的键值对
del dic['键名']
#del 删除整个字典
del dic # ---> 删除的是内存地址
#clear() 清空字典
dic.clear()
####改
#直接修改
dic['key']='新值'
#update() 替换修改
dic.update({'键名':'新值'}) #括号内的字典优先级高
####查
#直接查询
dic('键')
#setdefault('键名') 前提是键已存在的情况,执行查询,
dic.setdefault('键名')
#get('键名','返回的内容')键存在,返回对应的值. 键不存在, 默认返回的None,若指定提示内容,则返回提示内容
dic.get('键名','键不存在,返回的内容')
#####字典的使用
#for 循环字典 ,获取所有的键
for i in dic:
print(i)
#dic.keys()
# 获取所有的keys 高仿列表,但是没有索引,可迭代.可以根据keys获取值
a={'a':'1',"b":'2'}
print(a.keys())
for i in dic.keys():
print(dic[i])
#dic.values()
# 获取所有的values,没有索引,可迭代
a={'a':'1',"b":'2'}
print(a.values())
for i in dic.values():
print(i)
#dic.items()
#获取字典汇中的键值对,以元组形式.
a={'a':'1',"b":'2'}
print(a.items()) # dict_items([('a', '1'), ('b', '2')])
for i in dic.items()
print(i) #-->('a', '1')
print(type(i)) #<class 'tuple'>
####解构
#字典 元组 列表 ,字符串 可迭代的都能解构
a,b,c=(a1,b1,c1) # 必须一一对应
a,b={ # 解构的是字典的key
"a":1,
"b":2,
}
#字典的结构
a={'a':'1',"b":'2'}
for k,v in a.itmes():
print(k,v) # --->k 对应键, v 对应值
####枚举 enumerate(可迭代对象,索引) 同时列出数据和数据下标
a={'a':'1',"b":'2'}
for i,k enumerate(a,1) #第二个参数,默认从0开始
print(i,k) # --- i 是索引, k是键名
goods = [{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
#取出美女
print(good[3]['name'])
? 1.字典是存储大量的数据,字典比列表还大
? 2.字典的查找值的时候,方便快捷,快速
? 3.字典能够将数据进行关联
? 4.字典消耗内存大,常用的数据类型:字符串,列表和字典
? ###字典的转换需要借助 json 模块
标签:对象 pre 形式 高仿 默认 default upd 电脑 表示
原文地址:https://www.cnblogs.com/dengl/p/10997505.html