您当前的位置:首页 > 计算机 > 编程开发 > Python

Python3 序列数据类型概述

时间:12-14来源:作者:点击数:
城东书院 www.cdsy.xyz

一. 数据结构

在Python中,最基本的数据结构是序列(Sequence)。Python包含6种内建序列:

  • 列表
  • 元组
  • 字符串
  • Unicode字符串
  • buffer对象
  • xrange对象

二. 通用序列操作

Python中所有序列都可以进行一些特定操作,包括:

  • 索引(indexing)
  • 分片(slicing)
  • 序列相加(adding)
  • 乘法(multiplying)
  • 成员资格
  • 长度
  • 最大值/最小值

1.索引

序列是 Python 中最基本的数据结构。序列中的每个元素都分配一个数字,代表它在序列中的位置(索引),第一个索引是 0,第二个索引是 1,以此类推。

序列中所有元素都是有编号的,从 0 开始递增。可以通过编号分别对序列的元素进行访问。

>>> greeting='Hello'
>>> greeting[0]
'H'

Python 的序列也可以从右开始索引,最右边的元素索引值为-1,从右向左递减。

>>> greeting='Hello'
>>> greeting[-1]
'o'

2.分片

索引用来对单个元素进行访问,使用分片可以对一定范围内的元素进行访问,分片通过冒号相隔的两个索引实现。

>>> numbers=[1,2,3,4,5,6,7,8,9,10]
>>> numbers[1:3]
[2, 3]
>>> numbers[-3:-1]
[8, 9]

分片操作的实现需要提供两个索引作为边界,第一个索引的元素包含在分片内,第二个索引的元素不包含在分片内。

只要在分片中最左边的索引比它右边的索引晚出现在序列中,结果就是一个空序列。

>>> numbers[-3:0]
[]

如果需要取得的分片包括序列结尾的元素,只需将第二个索引设置为空即可。

>>> numbers[-3:]
[8, 9, 10]
>>> numbers[0:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers[:0]
[]
>>> numbers[:3]
[1, 2, 3]
>>> numbers[:]   #取得整个数组  
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
(1)步长(step length)

分片操作就是按照这个步长逐个遍历序列的元素,遍历后返回开始点和结束点之间的所有元素,在普通分片中,步长是1。第三个数字就是显式设置步长。

>>> numbers[0:10:1]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> numbers[0:10:2]
[1, 3, 5, 7, 9]

步长也可以为负数,但第二个索引为空才能取到序列的第一个元素。

>>> numbers[::-2]
[10, 8, 6, 4, 2]
>>> numbers[5::-2]
[6, 4, 2]

正数步长必须让开始点小于结束点,而负数步长必须让开始点大于结束点。

3.序列相加

类型相同的序列可以通过加号进行序列连接操作,不同类型的序列不能通过加号进行序列连接操作。

>>> [1,2,3]+[4,5,6]
[1, 2, 3, 4, 5, 6]
>>> 'hello' + ' ' + 'world'
'hello world'

4.乘法

用一个数字n乘以一个序列会生成新的序列。在新的序列中,原来的序列被重复n次。

>>> 'hello'*5
'hellohellohellohellohello'
>>> [1]*3
[1, 1, 1]
>>> sq=[None]*5   #None表示空值
>>> sq
[None, None, None, None, None]

5.成员资格

使用 in 运算符检查一个值是否在序列中。

>>> greeting='hello,world'
>>> 'w' in greeting
True
>>> users=['Tom','John','Mike']
>>> 'Tom' in users
True
>>> 'tom' in users
False

6.长度、最小值和最大值

>>> numbers=[3,5,2,7]
>>> len(numbers)
4
>>> max(numbers)
7
>>> min(numbers)
2
>>> max(3,5,2,7)  #参数可以不为序列
7
>>> min(3,5,2,7)
2
城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐