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

Posted mr-chenshuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python--数据结构-序列-通用操作相关的知识,希望对你有一定的参考价值。

数据结构:

  数据结构是以某种方式(如通过编号)组合起来的数据元素(如数、字符乃至其他数据结构)集合。在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

  


 

  迭代:后续。

 

  

 


以上是关于Python--数据结构-序列-通用操作的主要内容,如果未能解决你的问题,请参考以下文章

Python通用序列操作

Python中6种内建序列之通用操作

Python 通用的序列操作

序列的通用操作

python 数据类型

Python学习之通用序列类型数据详解