首页 >> 人工智能 >>Python >> OTS新手小白学Python,从入门到实践——列表
详细内容

OTS新手小白学Python,从入门到实践——列表

时间:2020-01-09     作者:luo【原创】   阅读

列表(list)

  • 序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

  • Python有6个序列的内置类型,但最常见的是列表和元组。

  • 序列都可以进行的操作包括索引,切片,加,乘,检查成员。

  • 列表 由一系列按特定顺序排列的元素组成。可以包含字母、数字0~9,也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。

  • 在Python中,用方括号([] )来表示列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

列表实例

image.png

运行结果如下:

image.png


访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

访问元素有几种:

1、索引

2、切片

Python可切片对象的索引方式.jpg

索引

  • 在Python中,第一个列表元素的索引为0,而不是1。在大多数编程语言中都是如此,

  • 第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。例如,要访问第四个列表元素,可使用索引3。

下面的代码访问索引1 和3 的元素

image.png

运行结果:

image.png

切片

  • 切片可以理解为将一个列表切成很多个小块,再进行读取。

Python中的切片非常灵活,一行代码就可以实现多行循环完成的动作。现结合语法和实例进行讲解分析:

例如:

image.png

用法:

list_1[n1:n2:n3]

n1代表开始元素下标

n2代表结束元素下标

n3代表切片间隔以及切片方向,默认值是1

L中每个元素都有正负两种下标,例如L[0]和L[-10]指的同一个元素都是0

案例一 :list_1[::1]的值

image.png

结果:

image.png

image.png

案例二:L[::-1]的值

image.png

结果:

image.png

image.png

案例三:L[-1:1]的值

image.png

结果:

image.png

image.png

案例四:L[-1:1:-1]的值

image.png

结果:

image.png

python将这个表达式解释为:从下标为-1的元素开始,以反方向切片到下标

为1的元素。那么ok,python可以找到这一段子序列

image.png

索引和切片的区别

1、元素数量而言:

索引:取一个元素

切片:可以取多个元素


2、元素类型而言:

索引:不好描述,举个例子来说:lst = [‘a’,‘b’,‘c’],lst[1]得到‘b’是个字符串

切片:不好描述,举个例子来说:lst = [‘a’,‘b’,‘c’],lst[1:2]得到[‘b’]是个列表


Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

如下所示:

Python 表达式结果描述
len([1, 2, 3])3长度
[1, 2, 3] + [4, 5, 6][1, 2, 3, 4, 5, 6]组合
[‘Hi!’] * 4[‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]重复
3 in [1, 2, 3]True元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ")1 2 3迭代


Python列表截取与拼接

Python的列表截取与字符串操作类型,如下所示:

image.png

操作:

Python 表达式结果描述
L[2]‘Taobao’读取第三个元素
L[-2]‘Runoob’从右侧开始读取倒数第二个元素: count from the right
L[1:][‘Runoob’, ‘Taobao’]输出从第二个元素开始后的所有元素


Python列表函数&方法

Python包含以下函数:

函数含义
len(list)列表元素个数
max(list)返回列表元素最大值
min(list)返回列表元素最小值
list(seq)将元组转换为列表


Python包含以下方法


方法含义
list.append(obj)在列表末尾添加新的对象
list.count(obj)统计某个元素在列表中出现的次数
list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)将对象插入列表
list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)移除列表中某个值的第一个匹配项
list.reverse()反向列表中元素
list.sort( key=None, reverse=False)对原列表进行排序
list.clear()清空列表
list.copy()复制列表


动手试一试

1、在列表末尾添加元素

2、在列表末尾删除元素

3、在列表的任意位置插入元素


更多文章记得关注我的博客

源码链接:点击打开






最新评论
请先登录才能进行回复登录
技术支持: 建站ABC | 管理登录