序列¶
序列概述¶
列表、元组、字符串共同点:
- 都可以通过索引获取每一个元素。
- 第一个元素的索引值都为零。
- 都可以通过切片的方法获得一个范围内元素集合。
- 都有很多共同的运算符。
其实他们都统称为序列,根据可变性可以将序列分为:可变序列和不可变序列,可变序列:列表,不可变序列:元组和字符串,对于可变序列使用增量赋值,赋值的对象本身的 id 没有变化,但是对于不可变序列,采用增量赋值,被增量赋值的对象 id 会发生改变,通过 is 和 is not 可以进行对象的 Iid 值检测。
is 和 is not 用法¶
对于不可变序列相同值对应的 id 相同,而对于可变序列,每个序列的 id 都不一样。
in 和 not in 用法¶
判断某个元素是否包含在序列中,not in 相反。
del 用法¶
del 语句: 用于删除一个或多个指定的对象,还可以删除指定可变序列的指定元素。
| Python | |
|---|---|
序列相关函数使用¶
列表、字符串、元组相互转换函数¶
list() str() tuple(),直接进行调用即可转换成对应序列类型。
min() 和 max() 函数¶
返回序列的最大最小值,如果传入是字符串比较的是字符串对应的编码值,26 字母,大写字母比小写字母小。
共有两种用法语法:
min()
min(interable, *[, key, default])min(arg1, arg2, *args[, key])
max()
max(interable, *[, key, default])max(arg1, arg2, *args[, key])
| Python | |
|---|---|
len() 和 sum() 函数¶
len(): 计算序列内元素的个数,当然len()函数也有最大长度限制:32 系统最大为 2 的 31 次方减 1,64 位系统则是 2 的 63 次方减 1。
sum(): 计算序列元素的和,适用于 int 类型求和,如果存在字符串会引发错误。
| Python | |
|---|---|
sorted() 和 reversed() 函数¶
sorted(): 对可变序列进行排序,默认为升序排序,区别于 sort() 函数,该函数返回的是新序列,而 sort(): 直接对原始序列修改,函数有两个参数: reverse 和 key , reverse 用于传入是否反转,默认升序,反转则为降序, key 则可以传入方法,比如 key=len 此时则会按照长度进行排序,注意如果传入为字符串会按照字符串第一个字母进行排序,如果第一个一样则会按照第二个再进行排序,以此类推,可以接受任何可迭代对象作为参数,sort() 仅仅支持列表。
reversed(): 将序列反过来,然后返回出一个可迭代对象,支持任何序列进行反转。
| Python | |
|---|---|
all() 和 any() 函数¶
all(): 判断序列所有元素是否为真。
any(): 判断序列是否存在某个元素为真。
enumerate() 函数¶
enumerate(): 函数用于返回一个枚举对象,它的功能就是将可迭代对象中的每个元素以及从 0 开始的序号共同构成一个二元组的列表。
| Python | |
|---|---|
zip() 函数¶
zip(): 用于创建一个聚合多个可迭代对象的迭代器。它会将作为参数传入的每个可迭代对象的每个元素依次组合成元组,即第 i 个元组包含来自每个参数的第 i 个元素,如果传入的迭代对象长度不同会以最短的作为长度进行组合,如果不想舍去长元素,则可以使用模块itertools 的 zip_longest() 函数。
| Python | |
|---|---|
map()函数¶
map(): 函数会根据提供的函数对指定的可迭代对象的每个元素进行运算,并将返回运算结果的迭代器。
| Python | |
|---|---|
filter() 函数¶
filter(): 函数会根据提供的函数对指定的可迭代对象的每个元素进行运算,并将运算结果为真的元素,以迭代器的形式返回。
| Python | |
|---|---|
迭代器和可迭代对象¶
一个迭代器肯定是一个可迭代对象,可迭代对象可以进行重复引用,迭代器则只可以使用一次。
| Python | |
|---|---|
iter()函数¶
iter(): 将可迭代对象转换成迭代器。
next() 函数¶
next(): 将迭代器元素逐个提取出来,如果元素全部提取完成,继续执行 next() 就会引发异常。