python笔记四【Set、Dictionary】集合和字典知识总结

#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
#键值怎么写,下标就要怎么写,比如说键值是字符串的时候,是不能省略外面的引号的




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_房似锦_

好心人哇!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值