python 基础学习笔记(4)--字典 和 集合

字典:

  • 列表可以存储大量的数据,但是如果数据量大的话,他的查询速度比较慢,因为列表只能顺序存储,数据与数据之间的关联性不强。所以便有了字典(dict)这种容器的数据类型,它是以{}括起来的。

语法:{‘key1’ :1,‘key2’:2}
其中 key :必须是可哈希的数据类型,例如:int,bool,str,tuple。不可哈希的有:list dict set(集合),而冒号后的value 没有要求

例如.

合法:
dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
非法:
dic = { [1,2,3] : ‘555’} # list 是可变的,不能作为key
dic = { {‘abc’ :123} :555} #dict是可变的,不能作为key

- 字典的增删改查功能

dic = {} #空字典
dic [ ‘name’ ] = ‘张三’
dic [ 'age' ] = 23
print (dic)
#结果 : {‘name’ : ‘张三’, ‘age’ : 23}
如果dict 中没有出现这个key,就会将 key - value 组合添加到这个字典中。

dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
s = dic.pop(123) # pop 删除有返回值,返回的是被删的值
print(s) ## 输出为666
print(dic)
##输出为 dic = {123 :456,’name‘ :‘张三’,(1,2,3):555}

dic.clear() # 清空

dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
dic[ 'name‘ ] = ’李四‘ #当 字典中存在’name‘这个key那么就直接修改赋值,若不存在,则添加。

print(dic)
#dic = {123 :456,True : 666,’name‘ :‘李四’,(1,2,3):555}
dic.updata({'key' : 'v', 'qwe' : 789 })
#当updata中的字典里没有dic中键值对(key-value)就添加到dic中,如果有就修改,类型于 列表中的 list.expend()

dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
s = dic ['name'] #通过键(key)来查找,如果这个键不存在字典中,那么就报错
print(s) # ‘张三’
q = dic.get(True) #通过键来查看,如果键不在字典中,就输出none

字典的其他操作

  1. 获取字典的键

dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
key_list = dic.keys()
print(key_list)
结果
dict_keys([123, True, ‘name’],(1,2,3))

  1. 获取字典的值

dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
value_list = dic.values()
print(value_list)
结果
dict_value(456,666,‘张三’,555)

  1. 获取键值对

dic = {123 :456,True : 666,’name‘ :‘张三’,(1,2,3):555}
key_value_list = dic.items()
print(key_value_list)
结果
dict_items([(123,456), (True,666), (‘name’,‘张三’), ((1,2,3), 555)])

集合

  • 集合就像放弃了值(value),仅剩下键的字典一样。键于键之间不运行重复。(如果你仅仅想知道某一个元素是否存在而不关心其他的,使用集合是个非常好的选择。)
  • 集合中的元素是必须和哈希的,但是集合本身是不可哈希的,是可以改变的

set1 = {‘1’,‘name’,2,True,[1,2,3]} # 报错
set2 = {‘1’,‘name’,2,True,{1:2}} # 报错
set3 = {‘1’,‘name’,2,True,(1,2,[2,3,4])} # 报错

set 集合的增删改查

  1. 增加

s = {'abc', 'efg', 'hij','lmn' }
s.add('123')
print(s) #{‘abc’, ‘efg’, ‘hij’,‘lmn’ ,‘123’}
s.add('abc')
print(s) #{‘abc’, ‘efg’, ‘hij’,‘lmn’ ,‘123’} 重复的内容不会被添加到set集合中
s.updata([‘111’,‘222’,‘333’])
print(s)#{‘abc’, ‘efg’, ‘hij’,‘lmn’ ,‘123’, ‘111’, ‘222’, ‘333’}# 迭代更新

  1. 删除

s = {'abc', 'efg', 'hij','lmn' }
item = s.pop() #随机弹出一个
print(s)
print(item)
结果
{‘lmn’, ‘abc’, ‘efg’}
hij
s.remove('abc')#直接删除元素
print(s)
结果
{‘lmn’, ‘efg’,}
s.clear() #清空set集合,

  1. 修改

set集合中的数据没有索引,也没有办法去定位一个元素,所以没有办法进行直接修改。
但是我们可以雷雨删除和添加来完成修改。
例如
s = {'abc', 'efg', 'hij','lmn' }
#将’abc‘ 改成’ 123‘
s.remove('abc')
s.add('123')
print(s)
#{ ‘efg’, ‘hij’,‘lmn’, ‘123’}

  1. 查询

#set 集合是一个可迭代对象,所以可以进行for循环
for item in s:
print(item) #遍历

这就是字典和集合的几大内容
到目前位置就是 python中的几大数据类型。感谢点击和观看,欢迎评论。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python3基础学习笔记(精品).pdf》是一本关于Python3基础学习的精品教材。该教材的内容包括Python3的基本语法、数据类型、控制流程、函数的定义和使用、文件的读写等基础知识点。 首先,教材详细介绍了Python3的基本语法规则,包括变量的声明和赋值、注释的使用,以及基本的运算符和表达式。通过学习这些基本语法,可以帮助读者快速掌握编写Python3程序的基本要素。 其次,教材系统地介绍了Python3的各种数据类型,如整数、浮点数、字符串、列表、元组、集合字典等。对于每种数据类型,都给出了详细的说明和示例代码,帮助读者更好地理解和运用这些数据类型。 此外,教材还深入讲解了Python3的控制流程,包括条件语句、循环语句和异常处理等。这些控制流程在编写程序时非常重要,通过学习这些知识,读者可以写出更具有逻辑性和灵活性的程序。 教材还介绍了Python3的函数定义和使用方法。函数是程序的基本组织单位,学会使用函数可以提高代码的复用性和可读性。教材通过讲解函数的定义、参数传递和返回值等内容,帮助读者熟练掌握函数的使用。 最后,教材还介绍了Python3文件的读写操作。文件读写是程序与外部文件进行交互的重要方式,教材提供了读取和写入文件的的示例代码,帮助读者理解和掌握文件操作的基本方法。 总之,《Python3基础学习笔记(精品).pdf》是一本内容丰富、系统性强的Python3基础学习教材。通过学习这本教材,读者能够掌握Python3基础知识,并能够用Python3编写简单的程序。这本教材对于初学者来说是一本很好的学习资料。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值