# ### 集合set (作用:交差并补)
"""特点: 无序,自动去重"""
# 定义一个集合
setvar = {"刘德华","郭富城","张学友","黎明"}
print(setvar,type(setvar))
# 1.集合无序
# 获取集合中的元素可以吗? 不可以
# res = setvar[0] error
# print(res)
# 修改集合中的元素吗? 不可以
# setvar[0] = "abc" error
# 2.自动去重
setvar = {"刘德华","郭富城","张学友","黎明","黎明","黎明"}
print(setvar)
# 3.定义一个空的集合
setvar = {}
setvar = set()
print(setvar,type(setvar))
# ### 字典dict
"""
特点: 键值对存错的数据,表面上有序,实际上无序
语法: dictvar = {键1:值1,键2:值2,键3:值3 ...}
字典的键: 推荐大家用变量命名的字符串进行使用
字典的键 和 集合的值 有数据类型上的要求
如下类型才可以: 不可变数据(可哈希的数据类型)
Number(int,float,bool,complex),str,tuple
不允许的类型,可变数据(不可哈希的数据类型)
list,set,dict
但凡是提到哈希算法(hash),都是典型的无序特征
目的:为了更加均匀的把数据分配到内存中,底层用了取模类似的算法;
python3.6版本,对字典做了优化,存储数据的时候用的哈希算法
但是在拿出数据的时候,重新按照定义的顺序做了排序
所以看起来有序,实际上无序
"""
# 1.定义一个空的字典
dictvar = {}
print(dictvar,type(dictvar))
# 2.定义一个普通的字典
dictvar = {"top":"程咬金","middle":"安其拉","bottom":"后裔","jungle":"李白","support":"宝蓝"}
# 3.获取字典的值
res = dictvar["top"]
print(res)
# 4.修改字典的值
dictvar["jungle"] = "乐言"
print(dictvar)
# 字典的键和集合的值有一定的要求
dictvar = {3:"aaa",False:"bbb",9+3j:"ccc",3.13:"ddd",(1,2,3):"fff","中文":"zzz"}
res = dictvar[(1,2,3)]
print(res)
print(dictvar)
# dictvar = {[1,2,3]:"abc"} error # TypeError: unhashable type: 'list'
# setvar = {"a",1,{"a":1,"b":2}} error # TypeError: unhashable type: 'dict'
# #######第二遍
# ### 集合set (作用:交差并补)
"""特点: 无序, 自动去重"""
# 定义一个集合
setvar = {"王振","王振2","王振3","王振4"}
print(setvar,type(setvar))
# 1.集合无序
# 获取集合中的元素可以吗? 不可以的
# res = setvar[1] error
# print(res)
# 修改集合中的元素吗? 不可以的
# setvar[1] = "abc" error
# 2.自动去重
setvar = {"王振","王振2","王振3","王振4","王振2","王振4"}
print(setvar)
# 3.定义一个空的集合
setvar = {}
setvar = set()
print(setvar,type(setvar))
# ####### 字典dict
"""
特点: 键值对存储的数据,表面上有序,实际上无序
语法: dictvar = {键1:值1 , 键2:值2, 键3:值3 ... }
字典的键: 推荐大家用变量命名的字符串进行使用
字典的键和集合的值有数据类型上的要求
如下类型才可以: 不可变数据(可哈希的数据类型)
Number(int,float,bool,complex),str,tuple
不允许的类型 可变数据(不可哈希的数据类型)
list,set,dict
但凡是提到哈希算法(hash),都是典型的无序特征
目的: 为了更加均匀的把数据分配到内存中,底层用了取模类似的算法;
python3.6版本,对字典做了优化,存储数据的时候用的哈希算法
但是在拿出数据的时候,重新按照定义的顺序做了排序
所以看起来有序,实际上无序
"""
# 1.定义一个空的字典
dictvar = {}
print(dictvar,type(dictvar))
# 2.定义一个普通的字典
dictvar = {"top":"程咬金" , "middle":"安其拉" , "bottom":"后裔" , "jungle":"李白" , "support":"宝蓝"}
# 3. 获取字典 值
res = dictvar["top"]
print(res)
# 4.修改字典的值
dictvar["jungle"] = "乐言"
print(dictvar)
# 字典的键和集合的值有一定的要求
dictvar = {3:"aaa",False:"bbb",9+3j:"ccc",3.13:"ddd",(1,2,3):"fff","中文":"zzz"}
res = dictvar[(1,2,3)]
print(res)
print(dictvar)
# dictvar = {[1,2,3]:"abc"} error # TypeError: unhashable type: 'list'
# setvar = {"a",1,{"a":1,"b":2}} error # TypeError: unhashable type: 'dict'
res = dictvar[3]
print(res)
第三天(建立字典)
最新推荐文章于 2020-10-19 01:36:42 发布