詹惠儿

2018-11-12   阅读量: 746

数据分析师 Python编程 Python数据分析

如何理解Python中的列表(下)

扫码加入数据分析学习群

四. 列表是动态的

本教程首先列出了Python列表的六个定义特征。最后一个是列表是动态的。您已经在上面的部分中看到了很多这方面的例子。将项目添加到列表时,它会根据需要增长:

>>> a = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge']

>>> a[2:2] = [1, 2, 3]
>>> a += [3.14159]
>>> a
['foo', 'bar', 1, 2, 3, 'baz', 'qux', 'quux', 'corge', 3.14159]兹',' qux','quux','corge',3.14159]

同样,列表会缩小以适应项目的删除:

>>> a = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge']
>>> a[2:3] = []
>>> del a[0]
>>> a
['bar', 'qux', 'quux', 'corge']

五. 列表是可变的

列表是可变数据类型。创建列表后,可以随意添加,删除,移动和移动元素。Python提供了多种修改列表的方法。

修改单个列表值

列表中的单个值可以通过索引和简单赋值来替换:

>>> a = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge']
>>> a
['foo', 'bar', 'baz', 'qux', 'quux', 'corge']

>>> a[2] = 10
>>> a[-1] = 20
>>> a
['foo', 'bar', 10, 'qux', 'quux', 20]

您可能还记得Python中的字符串和字符数据教程,您无法使用字符串执行此操作:

>>> s = 'foobarbaz'
>>> s[2] = 'x'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

可以使用以下del命令删除列表项:

>>> a = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge']

>>> del a[3]
>>> a
['foo', 'bar', 'baz', 'quux', 'corge']

修改多个列表值

如果要一次更改列表中的多个连续元素,该怎么办?Python允许使用切片分配,具有以下语法:

a[m:n] = <iterable>

同样,暂时将迭代视为列表。这种分配替换的指定切片a<iterable>

>>> a = ['foo', 'bar', 'baz', 'qux', 'quux', 'corge']

>>> a[1:4]
['bar', 'baz', 'qux']
>>> a[1:4] = [1.1, 2.2, 3.3, 4.4, 5.5]
>>> a
['foo', 1.1, 2.2, 3.3, 4.4, 5.5, 'quux', 'corge']
>>> a[1:6]
[1.1, 2.2, 3.3, 4.4, 5.5]
>>> a[1:6] = ['Bark!']
>>> a
['foo', 'Bark!', 'quux', 'corge']

插入的元素数量不必等于替换的数量。Python只是根据需要增大或缩小列表。

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 4 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子