Python基础编程(六)——序列类型

之前提到了python中的几种标准类型,这里对这几种标准类型简单总结一下,作为学习笔记记录。

在之前文章中提到的关于成员运算符的内容中,出现过序列类型的说法,那么什么是序列类型?

序列类型

序列(sequence)是指一段可以存放多个值的连续内存空间,这些值按照一定的顺序排列,可以通过每个值所在位置的编号(索引值)来进行访问。

在python中,序列类型包括string,list,tuple,set和dict。一般说来,序列类型都支持索引,切片,相加,相乘,成员操作,但是比较特殊的是,set和dict不支持索引,切片,相加,相乘操作。

索引操作

索引操作是指该序列类型可以通过下标值实现元素的随机访问。

a = 'abcdefghigk'
b = [1,2,3,4,5,6,7,8,9]
c = (1,2,3,4,5,6,7,8,9)

print(a[3])
print(b[4])
print(c[5])
print(a[-3])
print(b[-4])
print(c[-5])

结果为:

d
5
6
i
6
5

序列类型的索引操作有两个方向,正向从0开始,len-1结束,反向从-1开始,-len结束。

切片操作

切片操作是指通过特定的语法可以访问一定范围内的元素,从而生成新的序列。语法为:

var[start:end:step]

各个参数的含义为:

  • var表示序列对象
  • start表示切片的起始位置,包含此位置,可以省略,省略时默认为0
  • end表示切片的终止位置,不包含此位置,可以省略,省略时默认为末尾位置
  • step表示切片的步长,可以省略,省略时默认为1,第二个冒号也可省略
a = [1,2,3,4,5,6,7,8,9]

print(a[1:6])
print(a[1:6:2])
print(a[:6:2])
print(a[1::2])
print(a[:])
print(a[::])
print(a[::-1])

结果为:

[2, 3, 4, 5, 6]
[2, 4, 6]
[1, 3, 5]
[2, 4, 6, 8]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[9, 8, 7, 6, 5, 4, 3, 2, 1]

需要注意的时,当step=-1时,默认的起始位置和终止位置会发生改变。

相加操作

相加操作是指相同序列类型之间可以进行连接

a = [1,2,3,4]
b = [3,4,5,6]

print(a + b)

相乘操作

相乘操作是指对序列类型重复n次并添加到原序列上。

a = [1,2,3,4]
print(a * 3)

结果为:

[1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]

成员操作

成员操作是指可以利用成员运算符判断元素是否存在于某序列类型。

a = 'abcdefghigk'
b = [1,2,3,4,5,6,7,8,9]
c = (1,2,3,4,5,6,7,8,9)
d = {1,2,3,4}
e = {1:'tom',2:'jack'}

print('a' in a)
print(1 in b)
print(1 in c)
print(1 in d)
print(1 in e)

结果为:

True
True
True
True
True

序列相关函数

函数功能
len()计算序列的长度,即返回序列中包含多少个元素
max()找出序列中的最大元素
min()找出序列中的最小元素
list()将序列转换为列表
str()将序列转换为字符串
sum()计算元素和。注意,对序列使用 sum() 函数时,做加和操作的必须都是数字,不能是字符或字符串,否则将抛出异常
sorted()对元素进行排序
reversed()反向序列中的元素。dict是无序的序列类型,因此没有该操作
enumerate()将序列组合为一个索引序列,多用在 for 循环中

上述函数有几个需要注意:

a = 'abcdefghigk'
b = [1,2,3,4,5,6,7,8,9]
c = (1,2,3,4,5,6,7,8,9)
d = {1,2,3,4}
e = {1:'tom',2:'jack'}

print(max(a))
print(max(e))
print(list(a))
print(list(e))
print(str(b),'  ',len(str(b)))
print(str(e),'  ',len(str(e)))
print(sum(e))
print(sorted(e))

结果为:

k
2
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g', 'k']
[1, 2]
[1, 2, 3, 4, 5, 6, 7, 8, 9]    27
{1: 'tom', 2: 'jack'}    21
3
[1, 2]

这几种操作可能跟想当然的结果不太一样,需要注意。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值