标签:打开 列表 数据 清空 可变 没有 tde value 表示
1、字典 dict : 字典从3.6版本已经默认改成有序的 。==== 字典还是无序的
字典用 { } 来表示 里面有键值对数据 { key : value }
键 key : 要保证key唯一性(不能重复,不可以变)必须是可哈希的 不可变的数据类型就可以是字典的键
2、字典的新增:
1) 新增
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic[‘type_‘]=‘类型‘
print(dic)
{‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘type_‘: ‘类型‘}
2)setdefault 新增
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic.setdefault(‘type_‘,‘类型‘)
print(dic)
--{‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘type_‘: ‘类型‘}
setdefault的坑:如果在字典中存在就不做任何操作,不存在就添加
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic.setdefault(‘type_‘,‘类型‘)
dic.setdefault(‘type_‘,‘类型——‘)
print(dic)
--{‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘type_‘: ‘类型‘}
3.删除:
1) pop ( ‘key‘ )
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic.pop(‘dic_‘)
print(dic)
-----{‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘}
通过pop(‘key‘)删除返回值
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
ret=dic.pop(‘dic_‘)
print(ret)
=== 字典
2) del 变量 [‘key‘ ]
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
del dic[‘int_‘]
print(dic)
===={‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘}
3) clear 清空
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic.clear ()
print(dic)
==== { }----空列表
4)popitem (随机删除,但是试了很多次都是最后一个)返回一个元组(key,value)
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
ret = dic.popitem()
print(ret)
5、改:
强制修改
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic[‘int_‘]=‘强制修改‘
print(dic)
====={‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘强制修改‘}
2)update----升级或者更新
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic2={‘god‘:‘小狗‘ , ‘cat‘:‘小猫‘ , ‘boy‘:‘男孩‘}
dic.update(dic2)
print(dic)
==={‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数‘, ‘god‘: ‘小狗‘, ‘cat‘: ‘小猫‘, ‘boy‘: ‘男孩‘}
两种不同的结果:
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic2={‘god‘:‘小狗‘ , ‘cat‘:‘小猫‘ , ‘boy‘:‘男孩‘,‘int_‘:‘整数升级‘}
dic.update(dic2)
print(dic)==={‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘, ‘int_‘: ‘整数升级‘, ‘god‘: ‘小狗‘, ‘cat‘: ‘小猫‘, ‘boy‘: ‘男孩‘}
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
dic2={‘god‘:‘小狗‘ , ‘cat‘:‘小猫‘ , ‘boy‘:‘男孩‘,‘int_‘:‘整数升级‘}
dic2.update(dic)
print(dic2)=={‘god‘: ‘小狗‘, ‘cat‘: ‘小猫‘, ‘boy‘: ‘男孩‘, ‘int_‘: ‘整数‘, ‘dic_‘: ‘字典‘, ‘string_‘: ‘字符串‘}
谁在前面就升级谁
6、查
1)for 循环 默认获取字典中的键
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
for i in dic:
print(i)
==
dic_
string_
int_
2)查看1
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
print(dic[‘dic_‘])==字典
3)查看2
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
print(dic.get(‘dic_‘))==字典
查看2和查看1有什么不一样----查看1如果查字典没有的就报错,查看2有返回值,默认是None,可以自己设定
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
print(dic.get(‘dic_3‘,‘你傻啊,没有‘))==你傻啊,没有
4)查看3
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
print(dic.setdefault(‘dic_‘))==字典
查没有的会返回None
5)查看4
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
print(dic.keys())==dict_keys([‘dic_‘, ‘string_‘, ‘int_‘])
([‘dic_‘, ‘string_‘, ‘int_‘])这是一个高仿列表,那么就有列表的特性
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
for i in dic.keys():
print(i)===dic_ s tring_ int_
6)dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
print(dic.values())==dict_values([‘字典‘, ‘字符串‘, ‘整数‘])
这是一个高仿列表,那么就有列表的特性,,就不重复操作了
7)
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
print(dic.items())===dict_items([(‘dic_‘, ‘字典‘), (‘string_‘, ‘字符串‘), (‘int_‘, ‘整数‘)])
新增知识点: 解构 将后面打开按位置赋值给变量,支持元组、字符串、列表
dic={‘dic_‘:‘字典‘ , ‘string_‘:‘字符串‘ , ‘int_‘:‘整数‘}
for a,b in dic.items():
print(a)
print(b)==
dic_
字典
string_
字符串
int_
整数
标签:打开 列表 数据 清空 可变 没有 tde value 表示
原文地址:https://www.cnblogs.com/yangguogui/p/11253596.html