字典 一个key值 对应一个value值
定义
mydict1 = {'name':'a','age':21}
mydict2 = dict()
取值
>>> mydict1["name"]
'a'
>>> {"name":{"1":"aa","2":'bb'}}["name"]["1"]
'aa'
.get(key, 0) 取值
>>> mydict1.get("name")
'a'
赋值
>>> mydict2["ee"] = "aaa"
in 是否在里面
>>> "name" in mydict1
True
>>> "fname" in mydict1
False
.keys() #返回字典键的列表
>>> mydict1.keys()
dict_keys(['name', 'age'])
.values() #返回字典值的列表
>>> mydict1.values()
dict_values(['a', 21])
.items()
>>> mydict1.items()
dict_items([('name', 'a'), ('age', 21)])
.update(dict2) #增加合并字典
>>> mydict1.update({"sex":"nan"})
>>> mydict1
{'name': 'a', 'age': 21, 'sex': 'nan'}
.clear() #清空字典,同del(dict)
.copy() #拷贝字典
.cmp(dict1,dict2) #比较字典,(优先级为元素个数、键大小、键值大小)
#第一个大返回1,小返回-1,一样返回0
dictionary的复制
dict1 = dict #别名 浅拷贝 指针直接指向
>>> dict1 = mydict1
>>> id(dict1)
1751728577272
>>> id(mydict1)
1751728577272
dict2=dict.copy() #克隆,即另一个拷贝。 新的字典内存空间
>>> dict2 = mydict1.copy()
>>> id(dict2)
1751728577344
>>> id(mydict1)
1751728577272
但是字典内的元素地址还是一样的
>>> id(dict1["a"])
2564442425248
>>> id(dict2["a"])
2564442425248
使用deepcopy 元素以及变量都是新的地址
import copy
copy.deepcopy方法
set集合 每一项只能是唯一的
myset = set()
>>> type(myset)
<class 'tuple'>
>>> myset2 = {'a','b','c'}
>>> type(myset2)
<class 'set'>
add(),添加元素
>>> myset2.add("d")
>>> myset2
{'b', 'a', 'd', 'c'}
>>> myset2.remove("d")
>>> myset2
{'b', 'a', 'c'}
clear() 清空
>>> myset.clear()
>>> myset
set()
pop() 弹出一个 随机的
>>> myset2.pop()
'b'
>>> myset2.pop()
'a'
>>> myset2
{'c'}
copy() 和字典一样