python学习笔记:python序列

Posted 要知道,春天的道路依然充满泥泞!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习笔记:python序列相关的知识,希望对你有一定的参考价值。

python序列包括字符串、列表和元组三部分,下面先总的说一下python序列共有的一些操作符和内建函数。

一、python序列

序列类型操作符

标准类型的操作符一般都能适用于所有的序列类型,这里说一下序列类型操作符。

1. 成员关系操作符(in、not in)

成员关系操作符是用来判断一个元素是否属于一个序列的。具体语法:

对象 [not] in 序列

2. 连接操作符(+)

这个操作符允许我们把一个序列和另一个相同类型的序列做连接,具体语法:

sequence1 +sequence2

3. 重复操作符(*)

产生一个序列的多份拷贝,具体的语法:

sequence * copies_int

4. 切片操作符

序列类型是其元素被顺序放置的一种数据结构类型,这种方式允许通过指定下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素。这种访问序列的方式叫做切片。具体的语法是:

sequence[starting_index:ending_index:step]

起始索引和结束索引都是可选的,如果没有提供或者用None作为索引,切片操作会从序列的最开始处开始,或者直到序列的最末尾结束。

对于正索引:0 <= index <= len(sequence) - 1

对于负索引:-len(sequence) <= index <= -1

正负索引的区别在于正索引以序列的开始为起点,负索引以序列的结束为起点。

5. 用步长索引来进行扩展的切片操作

s = ‘abcdef‘
s[::-1] #可以视作“翻转”操作
s[::2]  #隔一个取一个的操作

6. 切片索引的更多内容

打印一个字符串金字塔,字符个数依次减少一个,例如字符串s=‘abcde’

>>> s = ‘abcde‘
>>> for i in range(len(s), 0, -1):
...     print s[:i]
...
abcde
abcd
abc
ab
a

如果使用负索引的话,可能会产生这样的情况:

>>> s = ‘abcde‘
>>> i = -1
>>> for i in range(-1, -len(s), -1):
...     print s[:i]
...
abcd
abc
ab
a

这样使得不能够第一遍打印全部的字符串。解决的办法就是,利用None作为索引,表示字符串的开头或者结尾。

>>> s = ‘abcde‘
>>> i = -1;
>>> for i in [None] + range(-1, -len(s), -1):
...     print s[:i]
...
abcde
abcd
abc
ab
a

序列类型内建函数

类型转换函数

list(iter):把可迭代对象转换为列表。

str(obj):把obj对象转换成字符串(对象的字符串表示法)。

unicode(obj):把对象转换成Unicode字符串。

tuple():把一个可迭代的对象转换成元组对象。

可操作函数

enumerate(iter):接受一个可迭代对象作为参数,返回一个enumerate对象,该对象生成由iter每个元素的index值和item值组成的元组。

len(seq):返回seq的长度。

max或者min:返回iter中的最大值,如果指定的key,那么key必须是一个可以传递给sort()方法的参数,用于比较的回调函数。

reversed(seq):反转一个序列。

sorted():接受一个可迭代的对象,返回一个有序的列表。

sum()和zip()函数。

 

以上是关于python学习笔记:python序列的主要内容,如果未能解决你的问题,请参考以下文章

python学习笔记:python序列

python学习笔记012——pdb调试

Python时间序列LSTM预测系列学习笔记-BeijingPM2.5

Python学习笔记__9.4章 序列化

Python 3学习笔记

Python学习笔记015——序列(字节数组 bytearray)