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

数据结构:

  数据结构是以某种方式(如通过编号)组合起来的数据元素(如数、字符乃至其他数据结构)集合。在Python中,最基本的数据结构为序列(sequence)。



序列:

  序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推。在有些编程语言中,从1开始给序列中的元素编号,但从0开始指出相对于序列开头的偏移量。同时可回绕到序列末尾,用负索引表示序列末尾元素的位置。



通用序列操作:

  索引:

  序列中的所有元素都有编号,也就是索引,从0递增,使用索引来访问元素:[索引]

>>> "hello"[1]
‘e‘

  使用负数索引或从右边=往左数,-1是最右边的元素位置

>>> "hello"[-1]
‘o‘

  



  切片:

  使用索引可以进行切片操作,访问特定范围内的元素,使用两个索引来指定范围,冒号隔开:[起始位置: 结束位置]

  注意:起始索引是包含该元素的,结束索引是不包含的

>>> s = "www.python.org"
>>> s[4: 10]
‘python‘

  注意:如果第一个索引指定的元素位于第二个索引指定的元素后面,结果为空序列

>>> s = "www.python.org"
>>> s[4: 2]
‘‘
>>> s[-2: 2]
‘‘

  切片结束与末尾,可以省略第二个索引

>>> s = "www.python.org"
>>> s[8:]
‘on.org‘

  切片从头开始同理

>>> s = "www.python.org"
>>> s[:10]
‘www.python‘

  复制整个序列可已将索引省略

>>> s = "www.python.org"
>>> s[:]
‘www.python.org‘

  指定步长:

  执行切片操作还有一个参数是步长,在不指定的情况下步长为1,索引会按位置从一个元素到下一个元素

# 步长为1,和普通切片一样
>>> s = "www.python.org"
>>> s[:]
‘www.python.org‘
>>> s[::1]
‘www.python.org‘

# 步长为2,每隔一个元素取一次
>>> s = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> s[::2]
[1, 3, 5, 7, 9]

# 步长不能为0,但是可以为负数,从右往左取
>>> s = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> s[::-3]
[9, 6, 3]

# 步长为负数时,是从右往左取,即起始位置在右边,所以第一个索引必须必第二个索引大
>>> s[2:5:-3]
[]
>>> s[8:3:-3]
[9, 6]

  



  相加:

  使用加法拼接相同类型序列

>>> [1, 2, 3] + [4, 5]
[1, 2, 3, 4, 5]
>>> "hello" + "world"
‘helloworld‘

  



  相乘:

  序列和数n相乘,重复这个序列n次来常见一个新序列

>>> "hello" * 3
‘hellohellohello‘
>>> [66] * 5
[66, 66, 66, 66, 66]

  Nome用来表示什么都没有,如果想创建一个长度为8,但是什么都不包含的列表,可以使用乘法来初始化

>>> [None] * 8
[None, None, None, None, None, None, None, None]

  



  成员资格:in、not in

  检查特定的值是否包含在序列中,返回布尔值:True或者False

>>> s = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> 1 in s
True
>>> "a" not in s
True
>>>
>>> a in "hello"
False

  



  长度、最小值、最大值:

  使用内置函数len、min、max,len返回序列包含的元素个数,min返回最小值,max返回最大值

  实际上min和max的实参是数,并不是序列

>>> s = [1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> len(s)
9
>>> min(s)
1
>>> max(s)
9
>>> min(1, 2, 5)
1
>>> max(3, 6, 4)
6

  



  迭代:后续。

  

原文地址:https://www.cnblogs.com/Mr-chenshuai/p/10012745.html

时间: 2024-07-30 09:30:52

Python(5)--数据结构-序列-通用操作的相关文章

python基本数据结构序列

python基本数据结构序列 ,六种内建序列类型:列表 元组字符串  Unicode字符串  buff对象和xrange对象 序列通用操作: 索引:元素的编号是从 0开始的 到索引号为负数时 查找方式是从右到左的 索引写在[]中 分片:类似索引的操作可以指定范围,当为一个对象创造副本时可以用 b = a[:] 这样的形式创建,这样 当 a被操作时不会影响 b  因为他们指向的不是同一块区域 相加:表示连接操作,列表连接后是新的列表不能改变列表原有的结构,序列相加时候要同种类型  进行,否则会报

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

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

字符串,列表,元组,字典,集合,序列通用操作

序列的通用操作 Python包含6种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象和xrang对象. 所有序列类型都可以进行某些特定的操作.这些操作包括但不限于:索引(indexing),分片(slicing),加(adding),乘(multiplying),以及成员资格(in,not in),除此之外,Python还有计算序列长度,找出最大元素和最小元素的内建函数以及迭代(iteration). 原文地址:https://www.cnblogs.com/romacle

python 序列通用操作

通用序列操作:索引:greeting=hellogreeting[0] 分片:number[1,2,3,4,5,6]number[3:6]number[3:6:1] 序列相加:[1,2,3] + [4,5,6][1,2,3,4,5,6]乘法'p' * 5'ppppp' 成员次格:permissions = 'rw' 'w' in permissionsTrue'x' in permissionsFalse 长度,最大值,最小值numbers = [100, 33, 355]len(numbers

29课时 可变序列 不可变序列 通用操作

判断值是否位于序列 in / not in 序列连接与重复 + / *

Python的数据结构 -- 序列

shoppingList = ['apple','banana','cat','dog','duck'] #Indexing and 'subscription operation' print('The first item is',shoppingList[0]) print('The second item is',shoppingList[1]) print('the third item is',shoppingList[2]) print('item -1 is',shoppingL

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

数据结构是计算机存储,组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合. 在Python中,最基本的数据结构为序列(sequence).序列中的每个元素都有编号:从0开始递增,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推.最后一个元素的位置为-1. Python包含6种内建的序列:字符串,Unicode字符串,列表,元组,buffer对象和xrang对象. 字符串 与数字一样,字符串也是值,用单引号或双引号括起来.'Hello world!'

1.6 序列的通用操作

下面几个小节分别会介绍到的list.tuple.str等都属于序列. 先介绍序列通用操作,序列的通用操作部分对list.tuple.str都适用,此处以list为例进行演示. 在讲序列的通用操作之前,先讲一下列表的构造.列表的构造方法: (1)直接把列表的元素直接放在[]中, (2)使用全局list()函数构造列表.list会把传进来的序列值进行拆分.其他可迭代对象也能生成列表. #先生成一个list类型的对象 1 >>> l = ['张三','李四','王五'] 2 >>&

Python数据类型之列表及其操作

列表由以系列按特定顺序排列的元素组成,列表不同于元组和字符串的地方:列表是可变的. 列表是有序集合,列表是序列的一种 列表的基本操作 1.修改列表:给元素赋值 colour = ['red','white','blue'] colour[0]='yellow' colour[1]='yellow' print(colour) >>> ['yellow', 'yellow', 'blue'] # 最简单通过下标(索引)修改. 2.给切片赋值 colour = ['red','white',