python中的序列对象(python 序列化对象)

网友投稿 609 2022-08-27


python中的序列对象(python 序列化对象)

在很多的入门书籍中,会针对列表,元组,字符串单独进行介绍,看完之后,你会发现有部分操作是相通的,比如根据下标进行访问的操作

>>> a = [1, 2, 3, 4, 5]>>> b = (1, 2, 3, 4, 5)>>> c = 'abcdef'>>> a[0]1>>> b[0]1>>> c[0]'a'>>>

具有相同的操作难道是巧合吗?其实不然,在python中,有一种类型,称之为sequence, 序列类型,常见的list, tuple, str, range都属于序列类型。这里有一个比较特殊的类别​​range​​, range函数用于创建数值列表,其返回值就是一个range类型, 示意如下

>>> type(range(10))>>> type('abc')>>> type([1,2,3])>>> type((1,2,3))

序列类型进一步分为以下两类

可变的序列不可变的序列

元组, 字符串以及range类型是不可修改的,属于不可变的序列类型,list可以动态修改,属于可变的序列类型。

对于序列类型,有以下通用操作

1.下标访问操作

python中下标从0开始计数,用方括号将下标括起来,用法如下

>>> a = [1, 2, 3, 4, 5]>>> a[0]1>>> a[-1]5

python还支持负下标操作,从序列末尾进行计数,最后一个元素为-1, 倒数第二个为-2, 依次类推。

2. 切片操作

不要被高大上的名称所迷惑,切片其实就是根据多个下标,来选择子集,用法如下

>>> a = [1, 2, 3, 4, 5]# 下标1到下包3,包含下标1,不包含下标3>>> a[1:3][2, 3]# 1:4:2类似rang操作,第三个数字表示步长>>> a[1:4:2][2, 4]# 简写,从下标1到序列末尾>>> a[1:][2, 3, 4, 5]# 简写,从开头到下标-1处>>> a[:-1][1, 2, 3, 4]

切片中区间为左闭右开,即包含起始下标,不包括终止下标,

3. len函数

len函数返回序列对象的长度,用法如下

>>> len('abcdef')6>>> len(range(10))10>>> len((1, 2, 3, 4, 5))5

4. max函数

max函数返回数值序列的最大值,用法如下

>>> max((1, 2, 3, 4, 5))5

5.min函数

min函数返回数值序列的最小值,用法如下

>>> min((1, 2, 3, 4, 5))1

6. sum函数

sum函数返回数值序列的总和,用法如下

>>> sum((1, 2, 3, 4, 5))15

7. in操作符

用于查看序列中是否包含特定元素,用法如下

>>> 1 in (1, 2, 3, 4, 5)True>>> 1 not in (1, 2, 3, 4, 5)False>>> 'a' in 'abcdef'True>>> 'a' not in 'abcdef'False

8. +操作符

将两个序列相连,用法如下

# 多个字符串相连>>> 'abc' + 'def''abcdef'# 将多个列表合并成>>> [1, 2, 3] + [4, 5][1, 2, 3, 4, 5]

9. *操作符

将一个序列重复多次,用法如下

>>> 'abc' * 3'abcabcabc'>>> (1, 2, 3) * 3(1, 2, 3, 1, 2, 3, 1, 2, 3)

10. count方法

统计序列中某个元素出现的次数,用法如下

>>> 'abbc'.count('b')2>>> (1, 2, 3, 3, 5).count(3)2

11. index方法

返回序列中某个元素第一次出现的下标,用法如下

>>> 'abcdef'.index('b')1>>> 'abcdcef'.index('c')2>>> (1, 2, 3, 4, 5).index(1)0>>> (1, 2, 3, 4, 5).index(2)1

对于列表这种可变的序列类型,还拥有以下操作

1. 修改值

# 根据下标修改对应的值>>> a = [1, 2, 3, 4, 5]>>> a[0] = 2>>> a[2, 2, 3, 4, 5]# 利用切片修改对应的值>>> a = [1, 2, 3, 4, 5]>>> a[1:3] = [4, 5, 6]>>> a[1, 4, 5, 6, 4, 5]

2. append 追加值

>>> a = [1, 2 , 3, 4, 5]>>> a.append(6)>>> a[1, 2, 3, 4, 5, 6]

3. pop 删除值

# 默认删除最后一个元素>>> a = [1, 2 , 3, 4, 5]>>> a.pop()5>>> a[1, 2, 3, 4]# 删除指定下标的元素>>> a.pop(3)4>>> a[1, 2, 3]#

4. remove删除值

pop根据删除下标指定的值,remove直接删除对应的值,用法如下

>>> a = [1, 2, 3, 4, 5]>>> a.remove(2)>>> a[1, 3, 4, 5]

5. del 删除值

>>> a = [1, 2, 3, 4, 5]>>> del a[0]>>> a[2, 3, 4, 5]>>> a = [1, 2, 3, 4, 5]>>> del a[1:2]>>> a[1, 3, 4, 5]

6. insert 插入元素

在指定下标处,插入元素,用法如下

>>> a = [1, 2, 3, 4, 5]>>> a.insert(1, 2)>>> a[1, 2, 2, 3, 4, 5]

7. extend

将另一个list的元素追加到第一个list的末尾,用法如下

>>> a = [1, 2, 3]>>> b = [4, 5]>>> a.extend(b)>>> a[1, 2, 3, 4, 5]

8. reverse

将序列元素反向,用法如下

>>> a = [1, 2, 3, 4, 5]>>> a.reverse()>>> a[5, 4, 3, 2, 1]

谨记list, tuple, str, range同为sequence类型,而sequence又分为可变和不可变两类。

·end·

—如果喜欢,快分享给你的朋友们吧—

关注我们,解锁更多精彩内容!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringMVC中@controllerAdvice注解的详细解释
下一篇:你知道怎么从Python角度学习Java基础
相关文章

 发表评论

暂时没有评论,来抢沙发吧~