全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
353 0
2022-11-08
四. 列表是动态的

本教程首先列出了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只是根据需要增大或缩小列表。




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群