Python数据结构之序列及其操作

  数据结构是计算机存储,组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

  在Python中,最基本的数据结构为序列(sequence)。序列中的每个元素都有编号:从0开始递增,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推。最后一个元素的位置为-1。

  Python包含6种内建的序列:字符串,Unicode字符串,列表,元组,buffer对象和xrang对象。

  字符串

  与数字一样,字符串也是值,用单引号或双引号括起来。‘Hello world!‘ 或 "Hello world!"

  列表

  列表由一系列按特定顺序排列的元素组成,用[]括起来。列表中的元素可以是数字,字符串,列表,元组,字典,集合。列表不同于元组和字符串的地方:列表是可变的

  元组

  即不可变列表,用()括起来。

  有几种操作适用于所有序列,包括索引、切片、相加、相乘和成员资格检查。另外,Python还提供了一些内置函数,可用于确定序列的长度以及找出序列中最大和最小的元素。(迭代)

   序列通用操作

  1.索引

#字符串
first = ‘hello,world!‘
print(first[0])
print(first[-1])
>>>h
>>>-1

#列表
colour = [‘red‘,‘white‘,‘blue‘,‘black‘]
print(colour[0])
print(colour[-1])
>>>red
>>>black

#元组
colour = (‘red‘,‘white‘,‘blue‘,‘black‘)
print(colour[0])
print(colour[-1])
>>>red
>>>black

  2.切片

  除使用索引来访问单个元素外,还可以使用切片来访问特定范围内的元素:使用两个索引,用冒号分隔。

#字符串
numbers= ‘123456789‘
print(numbers[0:3])
>>>123

#列表
numbers= [1,2,3,4,5,6,7,8,9]
print(numbers[0:3])
>>>[1, 2, 3]

#元组
numbers= (1,2,3,4,5,6,7,8,9)
print(numbers[0:3])
>>>(1, 2, 3)

  #使用来个索引来指定切片的边界,其中第一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内。

  2.1切片的简写

  当想要访问序列中最后几个元素而又不知道其索引位置时,可以使用负数索引。以列表为例。

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

  #第二个索引指定的元素不包含在切片内。

  如果切片始于序列开头,可省略第一个索引。

numbers= [1,2,3,4,5,6,7,8,9]
print(numbers[:3])
>>>[1, 2, 3]

  切片位于序列中间元素时

#序列中第3个元素到第4个元素
numbers= [1,2,3,4,5,6,7,8,9]
print(numbers[2:5])
>>>[3, 4, 5]

#序列中第3个元素到倒数第4个元素
numbers= [1,2,3,4,5,6,7,8,9]
print(numbers[2:-3])
>>>[3, 4, 5,6]

  2.2步长

  普通切片中,步长为1,意味着从一个元素移到下一个元素,指定步长时,将从起点和终点之间按照指定步长提取元素。

numbers= [1,2,3,4,5,6,7,8,9]
print(numbers[0:8:2]) #步长为2   可以简写为print(numbers[::2])
print(numbers[0:8:3]) #步长为3   可以简写为print(numbers[::3])
>>>[1, 3, 5, 7]
>>>[1, 4, 7]

  步长不能为0,但可以为负数,即从右向左提取元素。

numbers= [1,2,3,4,5,6,7,8,9]
print(numbers[8:0:-2])
>>>[9, 7, 5, 3]

  #切片也必须从右到左

  3.序列相加

a = ‘hello‘
b = ‘world‘
print(a+b)
>>>helloworld

x = [1,2,3]
y = [4,5,6]
print(x+y)
>>>[1, 2, 3, 4, 5, 6]

  #不同类型的序列不能相加

  4.乘法

a = ‘hello‘
print(a*5)
>>> hellohellohellohellohello

  5.成员资格

a = ‘hello,world!‘
print(‘h‘ in a)
print(‘x‘ in a)
>>>True
>>>False

  只有两种返回结果:True和False

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

  内置函数len返回序列包含的元素个数,min和max分别返回序列中最小和最大的元素。以列表为例。、

numbers = [45,8,126,78,3,17,5]
print(len(numbers))   #长度
print(min(numbers))   #最小值
print(max(numbers))   #最大值
>>>7
>>>3
>>>126

 

原文地址:https://www.cnblogs.com/romacle/p/10793436.html

时间: 2024-07-30 09:31:00

Python数据结构之序列及其操作的相关文章

Python数据结构之序列

在Python中,最基本的数据结构为序列(sequence).序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推. Python包含6种内建的序列:字符串,Unicode字符串,列表,元组,buffer对象和xrang对象. 有几种操作适用于所有序列,包括索引.切片.相加.相乘和成员资格检查.另外,Python还提供了一些内置函数,可用于确定序列的长度以及找出序列中最大和最小的元素. 迭代. 原文地址:https://www.cnblogs.com

【流畅的python】系列——python数据结构之序列2

文章内容接上篇 三.切片 <流畅的python>的第2章中,对于切片的简单用法,只是一带而过: 在 Python 里,像列表(list).元组(tuple)和字符串(str)这类序列类型都支持切片操作,但是实际上切片操作比人们所想象的要强大很多. 文中,主要讲了切片的3个方面: 1.为什么在python中,切片和区间会忽略最后一个元素(即左闭右开) 2.对象的切片 3.给切片赋值 另外,还提及了多维切片和省略 3.1.为什么在python中,切片和区间会忽略最后一个元素(即左闭右开) 在切片和

Python(5)--数据结构-序列-通用操作

数据结构: 数据结构是以某种方式(如通过编号)组合起来的数据元素(如数.字符乃至其他数据结构)集合.在Python中,最基本的数据结构为序列(sequence). 序列: 序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推.在有些编程语言中,从1开始给序列中的元素编号,但从0开始指出相对于序列开头的偏移量.同时可回绕到序列末尾,用负索引表示序列末尾元素的位置. 通用序列操作: 索引: 序列中的所有元素都有编号,也就是索引,从0递增,使用索引来访问元

Python 数据结构--序列

序列概览 Python 中有6种内建的序列.其中列表和元组是最常见的类型.其他包括字符串.Unicode 字符串.buffer 对象和 xrange 对象. 列表和元组的主要区别是列表可以修改,而元组不能,如果要根据要求来添加元素,这时候列表适用性会更好,但是当序列不能修改的时候,使用元组则更合适,使用元组与 Python 的运作方式相关. 在 Python 中几乎所有的情况下列表都可以替代元组,但是特殊情况不能(当使用元组作为字典的不可修改的键时,此时键不能修改,所以不能使用列表) 例如: #

《python基础教程》笔记之 序列通用操作

索引 序列中的所有元素都是有编号的--从0开始递增.使用负数索引时,Python会从右边,也就是从最后一个元素开始计数,最后一个元素的位置编号是-1.此外,字符串是一个有字符组成的序列,字符串字面值可以直接使用索引.如果一个函数调用返回一个序列,那么可以直接对返回结果进行索引操作.如 #根据给定的年月日以数字形式打印出日期 months = ['January', 'February', 'march', 'May', 'June', 'August', 'September', 'Octobe

Python数据结构——散列表

散列表的实现常常叫做散列(hashing).散列仅支持INSERT,SEARCH和DELETE操作,都是在常数平均时间执行的.需要元素间任何排序信息的操作将不会得到有效的支持. 散列表是普通数组概念的推广.如果空间允许,可以提供一个数组,为每个可能的关键字保留一个位置,就可以运用直接寻址技术. 当实际存储的关键字比可能的关键字总数较小时,采用散列表就比较直接寻址更为有效.在散列表中,不是直接把关键字用作数组下标,而是根据关键字计算出下标,这种 关键字与下标之间的映射就叫做散列函数. 1.散列函数

Python基础系列----序列(列表、元组、字符串)

1.定义                                                                                               1.数据结构:通过某种方式组织在一起的数据元素的集合.这些数据元素可以说数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构是序列. 2.索引:序列中的每个元素被分配一个序号.注意索引默认从0开始. 在python中,内建了6中序列:列表.元组.字符串.unicode字符串.buf

Python学习三---序列、列表、元组

一.序列 1.1.序列概念 pythn中最基本的数据结构是序列(sequence). 序列中每个元素被分配一个序号-元素索引,第一个索引是0,第二个是1,以此类推.类似JAVA中数组和集合中的下标. 从后向前,最后一个索引是-1,-2,.... python包含6种内建序列.最常用的两种类:列表和元组,其它内奸序列类型有字符串.Unicode字符串.buffer对象和xrange对象. 列表和元组的主要区别在于,列表可以修改,元组不能修改. 添加元素就用列表. 由于 一些原因不能修改时就用元组.

10.python中的序列

本来说完字符串.数字.布尔值之后,应该要继续讲元祖.列表之类的.但是元祖和列表都属于序列,所以有必要先讲讲python的序列是什么. 首先,序列是是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.每个索引对应一个元素. Python包含 6 中内建的序列,包括列表.元组.字符串.Unicode字符串.buffer对象和xrange对象. 对于序列,都可以使用以下操作: 1.索引 2.切片 3.加 4.乘 5.成员检查