python基础4-列表操作

上篇我们学习了python的字符串类型,了解了字符串常见操作和它的不变性,今天我们接着学习新的数据类型-列表,列表也是序列式的数据类型,跟字符串一样,支持下标和切片操作,但列表跟字符串不同的是它是可变类型,这个数据类型在后续我们编程中用的非常的多,比如将读出的IP放到列表中,然后读取执行,这些后续我们写实际脚本时再说,我们先从最基础的,如何创建列表开始:

1、创建列表方式,一种是用[],一种是用list()函数,这二种方法都可以创建一个列表,如下:

>>> lis = []

>>> lis

[]

>>> lis = [1,2,3,'a','c']

>>> lis

[1, 2, 3, 'a', 'c']

>>> st = 'abcdef'

>>> stlis = list(st)

>>> stlis

['a', 'b', 'c', 'd', 'e', 'f']


如果[]里什么都没有,就创建了一个空列表,在列表里的内容称为列表元素,元素类型可以使python支持的标准类型。

2、列表的元素数据访问,刚开始我们也说了,列表是序列类型,所以它支持切片和下标的访问,例子如下:

>>> stlis[0]

'a'

>>> stlis[0:4]

['a', 'b', 'c', 'd']

>>> stlis[-1:] 

['f']

>>> stlis[-3:-1]

['d', 'e']


因为这个跟字符串操作非常类似,所以我们不在多说。

3、列表操作函数

关于列表的操作有很多的方便可用的函数,这里我们跟字符串一样,也挑一些比较常用的来举例说明下,其它函数如果后续用到我们再说。

append()函数: 作用是添加列表的元素在尾部,接收一个参数,然后将改元素加入列表的尾部,举例如下:

>>> lis.append('d')

>>> lis

[1, 2, 3, 'a', 'c', 'd']


extend()函数:作用是扩展一个列表,这个函数类似把两个列表相加,例如:


>>> lis

[1, 2, 3, 'a', 'c', 'd']

>>> others = ['e','f']

>>> lis.extend(others)

>>> lis

[1, 2, 3, 'a', 'c', 'd', 'e', 'f']


remove() : 作用根据指定的值删除一个元素,当列表元素被删除后,位于它后面的元素自动迁移,然后列表长度减一,举例:


>>> lis

[1, 2, 3, 'a', 'c', 'd', 'e', 'f']

>>> lis.remove(1)

>>> lis

[2, 3, 'a', 'c', 'd', 'e', 'f']


pop():这个函数会返回指定下标位置的元素,如果不给指定下标,它默认使用-1,例如pop(0)返回列表的头元素,pop()返回列表的尾部元素,但这个函数在获取后就会自动将这个元素在列表中删除,例如:


>>> lis

[2, 3, 'a', 'c', 'd', 'e', 'f']

>>> lis.pop()

'f'

>>> lis

[2, 3, 'a', 'c', 'd', 'e']

>>> lis.pop(0)

2

>>> lis

[3, 'a', 'c', 'd', 'e']


如果这个函数不带参数会比较有意思,因为它跟append()函数的作用相反,一个是从尾部加,一个是从尾部减,这个就是大学数据结构课程中的-栈,即后进先出,可以假设有个空列表,运行append()就是压栈的操作,pop()就是出栈的操作,那如果加入下标0,即pop(0),那这样列表就形成了一个队列,跟去公园买票排队一样,先进来的先出去,即先进先出,这也是一种队列方式,这两种方式在后续编程中非常有用,如果后续我们有用到,我们会详细说。

count()函数用来统计列表中元素的重复个数,如果我们生成了一个列表,想要获取某元素在列表中出现的次数,可以用这个函数,例如:

>>> lis

[3, 'a', 'c', 'd', 'e', 'e']

>>> lis.count('e')

2

>>> lis.count(3) 

1


len()函数,跟字符串的len函数功能一样,返回列表的长度,这个比较简单就不多说了。


>>> len(lis)

6

>>> lis

[3, 'a', 'c', 'd', 'e', 'e']



基本函数我们就说讲这么多,后续有特殊的我们详细再谈,接下来我们说一下列表的一些关系操作

4、列表关系操作,in, not in

关系操作就是检查判断一个对象是不是一个列表的成员,如果存在返回True, 否则返回False, 一般常用与条件语句中,例如:

>>> lis

[3, 'a', 'c', 'd', 'e', 'e']

>>> 'a' in lis

True

>>> 'g' in lis

False

>>> 'g' not in lis

True


具体的条件语句我们后续会单独详细说,在这里就不展开了,这种关系操作后续编程中也非常有用。

5、列表转字符串操作

在日常处理列表中,有一个比较常见的操作就是要求将一个列表转成一个字符串,这里我们可以用join()函数实现,例如:

>>> lis

['a', 'c', 'd', 'e', 'e']

>>> 

>>> ''.join(lis)

'acdee'


6、列表解析,这部分内容我们在讲循环的语句的时候会单独说,它在编程中也比较常用,这个功能可以让我们动态的生成列表。

写到这我们也基本把列表也说完了,除了这些数据类型,理解python的赋值语句(等于号)也非常关键,在最后我给出一个例子,请大家一起理解下这些语句的意义,如果有问题可以留言交流。

>>> a = 'x'

>>> lis = [a, 2]

>>> lis

['x', 2]

>>> lis = [a,2,"abc",False]

>>> lis

['x', 2, 'abc', False]

>>> a

'x'

>>> b = 'y'

>>> lis

['x', 2, 'abc', False]

>>> a = b

>>> a

'y'

>>> lis

['x', 2, 'abc', False]

>>> lis = [a, 2]

>>> lis

['y', 2]




上一篇:vue-cli开启gzip,减少包的体积


下一篇:python 切片方法