Python学习笔记——序列的操作

本文介绍了Python中的序列操作,包括访问单个和一组数据、序列连接与重复、检查数据是否在序列中以及计算序列的长度和最值。通过示例展示了如何使用正负序号、切片以及in关键字进行操作,并强调了列表和字符串在这些操作上的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序列是Python的一种数据结构,其特征是每个元素都被分配一个序号,可以通过这个序号访问其中的每一个元素。
Python有六种序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。不同的序列有不同的具体操作方式,但也有一些通用的操作,包括:

操作描述
X1+X2连接序列,生成新序列
X*n序列重复n次,生成新序列
X[i:j:k]提取元素,可生成新序列
len(X)计算序列的元素个数
max(X), min(X)序列的最大值/最小值
v in X, v not in X判断元素是否在序列中

1. 序列的访问

序列可以访问单个数据和一组数据。
访问序列单个数据的语句是X[i],i是序列中的序号。序列的序号有两种,第一种是正数序号,一种是负数序号。正数序号以第一个元素序号为0,后面元素依次递增;负数序号以最后一个元素序号为-1,前面元素依次递减。两种序号可以同时使用。当给序列提供不存在的下标时,会发生运行错误。

prompt = 'hello'
print(prompt[0])
h
print(prompt[-1])
o

访问序列一组数据的语句是X[i:j:k],也叫做切片。i表示访问的第一个元素的序号,省略时表示从序列的第一个元素开始(省略时其后的冒号不能省略);j表示访问的最后一个元素的后一个元素的序号,也就是不包括序号为j的元素,省略时表示在序列最后一个元素结束;k表示步长,省略时表示步长为1(省略时其前的冒号也省略)。k可以为负数,负数表示从后往前访问序列。

a = [2,3,4,7,11,13]
print(a[1:3])
[3,5]
print(a[1:-3])
[3,5]
print(a[-3:]
[7,11,13]
print(a[-1,0,-1])
[13,11,7,4,3]
print(a[::-1])
[13,11,7,4,3,2]

一般还可以用切片的方式复制一个序列。事实上,如果仅仅用赋值的方式,并不能达到复制序列的效果,两个变量指向同一个序列:

b = a
b[0] = 1
print(a)
[1,3,4,7,11,13]

此时,a和b指向同一个序列,修改其中一个相当于修改另外一个。如果希望得到复制的效果,让两个变量各自拥有独立的序列,可以用切片的方法。

b = a[:]
b[0] = 3
print(a)
[1,3,4,7,11,13]
print(b)
[3,3,4,7,11,13]

序列的连接与重复

可以用 ‘+’ 连接两个序列。

a = [2,3,5,7,11,13]
b = [4,6,8,9,10,12]
print(a+b)
[2,3,4,7,11,13,4,6,8,9,10.12]
'hello   '+'world'
'hello world'

可以用 ‘*’将一个序列重复若干遍

[4,0,4]*3
[4,0,4,4,0,4,4,0,4]

检查数据是否在序列中

可以用 in 判断某个数据是否在序列中,返回True或False。

a = [2,3,5,7,11,13]
print(3 in a)
True

注意,对于列表,只能用 in 检查单个数据是否在列表中。比如

a = [2,3,5,7,11,13]
[2,3] in a
False

但对于字符串来说,情况则不同。

s = 'hello'
print('he' in s)
True

因此,可以用 in 判断某个字符串是否为另一个字符串的一部分。

计算序列的长度和最值

可以用len()函数返回序列中数据的个数。

len([2,3,5,7])
4
len('hello world')
11

可以用min()和max()函数找出序列中数据的最小值和最大值。如果序列的数据为数字,则比较数字的大小。如果序列的数据为字符串,则比较字符的Unicode编码。

min('好好学习天天向上')
'上'
min(['apple','orange','melon'])
'apple'

’上‘的Unicode编码最小,a的Unicode编码比’o’和’m’都小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值