python语言学习记6

目录

14序列

14.1列表、元组、字符串共同点

14.2能够作用于序列的一些运算符和函数

 14.3跟序列相关的一些函数

14.4迭代器 vs 可迭代对象

 15.字典

 15.1创建字典

 15.2字典增删查改

 15.3嵌套

 15.4字典推导式


14序列

14.1列表、元组、字符串共同点

(1) 都可以通过索引获取每一个元素

(2)第一个元素的索引值都是0

(3)都可会通过切片的方法获取一个范围

(4)都有很多共同的运算符

列表、元组、字符串 python把他们都统一称为字符串

可变序列(列表) 不可变序列(元组、字符串)

14.2能够作用于序列的一些运算符和函数

14.2.1 +   *

 

 对于增量赋值

id函数返回一个代表指定对象的唯一标识的整数值

 对于对象是一个不可变的序列id值不一样了

14.2.2 is 和 is not

用于检测对象的id值是否相等,从而判断是否是一个对象(同一性运算符)

14.2.3 in 和 not in

判断包含问题

in运算符用于判断某个元素是否包含在序列中,not in 相反.

14.2.4 del语句

用于删除一个或多个指定的对象

 可删除可变序列中的指定元素

 清空列表的元素

 

 14.3跟序列相关的一些函数

14.3.1列表、元组和字符串相互转换

list()

将一个可迭代对象转换成列表

 

tuple()

将可迭代对象转换为元组

str()

将可迭代对象转化为字符串

 14.3.2 min() 和 max()

min()

对比传入的参数,并且返回最小值

 

max()对比传入的参数,并且返回最大值

 如果是空列表就会报错

 我们可以用default来缓和

14.3.3 len() 和 sum()

len()有一个最大的可承受范围,len函数参数太大导致报错

 sum函数

 14.3.4 sorted() 和 reversed()

 sorted()函数也支持key和reverse两个参数

 排序后翻转

 

 单独传入t列表,对比每一个元素,对比的是字符串的每一个元素的编码值.

key参数指定的是一个干预排序算法的函数

 python会在排序的过程中,先将列表中的每一个元素自动调用一次len函数.然后比较的是len()函数返回的结果.

 所以sorted(t,key = len)比较的是长度

reversed函数返回的是一个参数的反向迭代器

 14.3.5 all() 和 any()

all函数

判断可迭代对象中是否所有元素的值都为真

any函数

判断可迭代对象中是否存在某个元素的值为真

 14.3.6 enumerate()

 

 start参数可以自定义这个序号开始的值

 14.3.7 zip()

 

 如果传入的可迭代对象长度不一致,会出现什么情况

把e丢掉了.那如果我的e很重要不能丢掉怎么办?

我们就可以使用一个叫做itertools的模块,里面有一个zip_longest()函数.可以使用这个来代替zip

 14.3.8 map()

 

 第一个参数是指定一个函数,这个函数是ord.map函数作用是对随后提供的可迭代对象进行加工.

ord函数作用是将一个字符转化成对应的一个编码值.字符是从后面的这个可迭代对象中获取.这里是love.

工作流程:每次从字符串"love"里面提取一个字符,然后交给ord函数,转化得到对应的编码值后,再将这个结果保存起来.最后得到的是"love"获得的一个编码值的一个组合.

那ord需要一个参数,那如果提供的函数需要两个参数或者多个参数怎么办?

我们只需要同步去修改后面提供的可迭代对象的数量就行了.

 14.3.9 filter()

 filter函数返回的是计算结果为真的元素构成的迭代器

 将字符串中小写过滤出来啦~

14.4迭代器 vs 可迭代对象

 

 

有没有途径是可迭代对象变为一次性的迭代器?

iter()函数

 next()函数    逐个将迭代器中的元素给提取出来

 不想让抛出异常的话可以给next函数传入第二个参数

 15.字典

 字典的关键符号是大括号!还有:

 两对映射关系

:左边称之为字典的键    :右面为字典的值

在字典中,只要我们提供键就可以获取其对应的值

 我们可以通过指定一个不存在于字典中的"键"来创建一个新的键值对

 

 15.1创建字典

15.1.1 使用{}和:的组合将映射关系套牢

15.1.2使用dict()函数-用来生成字典.它的每个参数就是一个对应的键值对,键与值之间直接使用等号挂钩.

 这种写法要求不能往键上加引号

15.1.3使用列表作为参数,列表中的每个元素是使用元组包裹起来的键值对

 15.1.4将第一种方法作为参数传递给这个dict

 15.1.5混合

 15.1.6用zip函数

 他们都是相等的

 15.2字典增删查改

15.2.1 增

 它可以使用iterable参数指定的可迭代对象来创建一个新的字典,并将所有的值初始化为values参数指定的值

 存放四组映射关系的一个字典.适用于从无到有创建一个所有键的值都相同的字典.

修改键值

 增加键值对 

 15.2.2删

 返回指定的键对应的值

 然后查看d,发现s不见了

 如果pop一个不存在的键就会抛出异常

 

 popitem()

python3.7前是随机删除一个键值对,python3.7之后它删除的是最后一个加入字典的键值对.

 del也可删除指定的元素

 只要清空内容用clear

 15.2.3改

 update([other]  支持同时给他传入多个键值对,也可以直接给他传入另外一个字典或者一个包含键值对的可迭代对象

 15.2.4查

 get(key[,default])

 setdefault(key[,default])

items() 获取字典键值对  

keys() 获取键  

values()获取值

获取三者的视图对象

 当字典内容改变,三者也会改变

 copy()

len() 获取字典中键值对的数量

 in 和 not in 判断某个键是否存在于字典中

字典可以转化为列表

 iter() 将字典变为一个迭代器

 15.3嵌套

 15.4字典推导式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值