#Set(集合)与列表类似,可以包含多个类型不同的元素。
#但集合中是不允许出现相同的元素的,而且集合的元素都必须是可哈希的对象。(数值,字符串,元组)set中不可以出现列表
#在Python中,可变类型的数据都不可哈希,不能作为集合的元素;不可变类型的数据都可哈希,可以作为集合的元素。
#数字(含布尔值)、字符串和元组 是不可变类型,而列表、集合和字典是可变类型。
#集合的所有元素都写在一对花括号{}中,2个元素之间用逗号分隔。集合中的元素都是无序的
#创建集合可以直接使用{},也可以使用set()函数
s={101,'bit',True,35.2}
print(s) #输出{True,'bit',35.2,101} 我们可以看出输出的结果和我们一开始指定位置的元素的顺序不同
#如果一个集合中初始化的时候有多个相同的元素,那么最后输出的时候只输出一个,在set中不能出现多个相同的元素
se={20,20,21,30}
print(se) #输出{20,21,30}
b=set('hello')
print(b) #输出{'l','e','h','o'}
c=set([11,2.5,'test',True,5,2.5]) #参数为一个列表,将列表中的元素分离出来作为集合中的元素
print(c) #输出{True,2.5,5,11,'test'} 有2个相同的2.5,所以最后只保留了1个2.5
d=set((11,2.5,'test',True,5,2.5))
print(d) #输出{True,2.5,5,11,'test'}
#注意:集合中的元素是不能通过[]下标来访问的
#如果只写一个{}里面没有元素的话,它创建的是一个空字典,而不是一个空集合。
#如果创建一个空集合,需要使用set()。
#Dictionary(字典)是另一种无序的对象的集合。
#字典与集合不同,字典属于一种映射类型,每一个元素是一个 键(key)值(value)对。
#在一个字典对象中,键值必须是唯一的,不同元素的键值不能相同,
#而且键值必须是可哈希数据,不能是列表,集合,字典等类型。
#值可以是任意类型。
#空字典 :{} 不包含任何元素
#创建字典方式一:使用{}
#方式二:使用dict()函数 当参数为另一个已有字典时,就是将已有字典赋值给新建立的子典
#创建空字典就是 a={} b=dict() 这2中方式得到的结果都是一个空字典
#以下5种方式创建字典方式都相同,得到5个相同的字典
a={'one':1,'two':2,'three':3} #用大括号创建字典
b=dict(one=1,two=2,three=3) #使用函数创建字典
c=dict(zip(['one','two','three'],[1,2,3])) #使用zip函数
d=dict([('one',1),('two',2),('three',3)]) #使用列表中元组方式创建字典
e=dict(a) #使用已有字典创建新字典
#在创建字典的时候初始化: d={k1:v1,k2:v2,k3:v3} 键值:值
x={1:"gogogo",2:"tatata",3:"kkk"}
print(x)
dii=dict(x)
print(dii) #和 print(d) 输出结果相同
#访问字典中的元素并不是通过下标来访问了,而是通过 键值 访问!
fo={'name':'小七','age':19,'sorce':{"math":126,"python":97}}
print(fo['name']) #输出:小七
print(fo['age']) #输出:19
print(fo['sorce']["math"]) #输出:126
#键值怎么写,下标就要怎么写,比如说键值是字符串的时候,是不能省略外面的引号的