python基础之元组定义&进阶 *** 作、字典定义&进阶 *** 作

python基础之元组定义&进阶 *** 作、字典定义&进阶 *** 作,第1张

元组

创建元组
把所有的元素放到括号里,就是元组
创建空元组

如果定义只有一个元素的元组,那么这个元素后面要加一个逗号,告诉它我要定义的是元组

创建复杂的元组,括号内可以随便嵌套。



当然,如果嵌套的层数多了,可能计算机没有乱自己先乱了。




元组打包
元组打包是另一种创建元组的方式,不用括号来创建元组。



可以看到我创建的时候外面没加括号,结果中自动在两端加上了括号。




访问元组元素
访问my_t3这个元组中索引为2的元素。




访问元组中某个元素里面的元素,比如我想访问my_t3中的345这个元素
其实就是访问嵌套的元素

这里也可以用负数索引,就是从右往左数

切片

切片当然也是可以嵌套的

元组引用单个元素,其实是切片的一种简写。


就是如果只写一个数字,那么只切索引为那个数字的元素。



这两种返回的类型是不一样的,细节很重要!

元组的更改
元组是不可更改的

元组不可更改,但是元组中可更改的元素是可更改的
比如我的元组中包含列表,列表是可更改的,那么我元组中的列表也是可更改的

删除元祖
如果要用元组存一些大量的数据时,可能这个元组会很大。


那不用它们的时候不把它销毁掉它会继续占内存的。


如果是小的元组或者是在很快就要被销毁的函数里边,作为函数的变量,函数被销毁它也就被销毁,但是这个元组不但很大而且还不会被删除的话,那么就要主动去销毁它,节省内存。


不然程序的后面可能会发生内存泄漏。


del:只能删除整个元组而不能删除元组中的某个元素
我已经把整个元组都删掉了,然后再打印,当然会提示当前元组没有定义啦

元组的方法
count():计数,看我的元组中有几个某个元素

查看元组的长度(是系统函数)


找某个元素的位置:index()

元组的遍历

元组的特性
max(),min()
系统函数,最大值,最小值

字符串也可以看最大最小值,这个是根据阿斯克码进行比较

字典

字典类型和JSON格式长得很像,是自解释数据类型。



创建字典
用大括号

直接dict强制类型转换
列表,元组等都可以转成字典。


只要符合键值对的格式,能组合成键值对的这种排列

访问元素
根据key来访问元素

正常情况下直接访问不存在的元素会报错

所以可以用get,这样如果元素不存在就直接返回None,如果元素存在就正常返回值。




字典的嵌套
字典也是可以嵌套的
这里brother是键,brother的值又是一个字典。



键是不可变的,只要是不可变类型都可以为键。




字典中元素的更新
字典中元素是可变的

字典中元素的增加

字典元素的删除
popitem() 删除最后一个元素

pop() 可以指定key来删除

clear() 清空字典中的所有元素
clear之后这个字典就成了空字典

删除嵌套的内容也是可以的
删除二弟brother里就只剩三弟了

字典生成式
产生大量数据的时候会用,平时很少用。



字典生成式和列表生成式挺像的
既然是生成字典那肯定也是key:value的格式
我把key设置成大写,value设置成小写。



结果中可以看到执行是成功的。



但是为什么我的字符串有八个字母,执行完了剩六个?
这里的key是不能重复的,我的a和w都有2个,那么第二个就是不显示的,所以执行完就只有6个

一般用range()多一些

成员检查
成员检查,检查的是key
检查L在不在my_d1里
L是大写,key就是大写,所以L是true
l是小写,key是大写,所以l是false

字典遍历
都是一样的,key不能重复,所以第二个a和第二个w都没有

字典的内置函数
整理顺序

字典中常用的方法

方法描述
clear()从字典中删除所有项
copy()返回字典的浅拷贝副本
fromkeys(seq[, value])返回一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。


get(key[,d])返回键的值。


如果键不存在,则返回d(默认为 None)

items()以**(keys,value)**格式返回字典中的每一项
keys()返回字典中的所有键key
pop(key[,d])删除带有key的项并返回其值或如果未找到key,则返回 d如果未提供d且未找到key,则会引发错误KeyError。


popitem()删除并返回任意项**(key,value)**。


如果字典为空,则引发错误KeyError。


setdefault(key[,d])如果key在字典中,则返回相应的值value。


如果没有,则插入值为d的key并返回d(默认为None)。


update([other])使用其他键/值对更新字典,覆盖现有键。


values()返回字典中的所有值value

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/569586.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存