您的位置 首页 电子技术

python列表的详细介绍

python列表 列表(英文名 list),是由一系列元素按顺序进行排列而成的容器。 这里面有两个重点: 元素 :没有要求同一类型,所以可以是任意类型。 顺序 :按顺序排列而成,说明列表是有序的。 在接下来的例子中,我会向你演示,列表的一些特性和常用的方法。 1. 创建列表 创建列表有两种方法 第一种方法 :先创建空列表实例,再往实例中添加元素 phones = list() # 实例化 phones.append(\”Apple\”) # 添加元素 phones.append(\”Huawei\”) # 添加元素 phones.append(\”Xiaomi\”) #\” />

<meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1

python列表

列表(英文名 list),是由一系列元素按顺序进行排列而成的容器。

这里面有两个重点:

元素:没有要求同一类型,所以可以是任意类型。

顺序:按顺序排列而成,说明列表是有序的。

在接下来的例子中,我会向你演示,列表的一些特性和常用的方法。

1. 创建列表

创建列表有两种方法

第一种方法:先创建空列表实例,再往实例中添加元素

>>> phones = list()   # 实例化>>> phones.append(\"Apple\")  # 添加元素>>> phones.append(\"Huawei\")  # 添加元素>>> phones.append(\"Xiaomi\")  # 添加元素>>> phones[\'Apple\', \'Huawei\', \'Xiaomi\']

第二种方法:直接定义列表,并填充元素。

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> phones[\'Apple\', \'Huawei\', \'Xiaomi\']

很明显,第二种最简单直接,容易理解。并且经过测试,第二种的效率也比第一种的要高。因此推荐新手使用第二种。

2. 增删改查

增删改查:是 新增元素、删除元素、修改元素、查看元素的简写。

由于,内容比较简单,让我们直接看演示

查看元素

使用 [i] 的方式查看第 i+1 个元素。例如 x 的起始值为 0 ,代表第一个元素。

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> phones[0]\'Apple\'>>> phones[1]\'Huawei\'>>> phones[2]\'Xiaomi\'

使用 index 方法,查看第一个值为 x 的索引。

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\", \"Huawei\"]>>> phones.index(\"Huawei\")1

使用 count 方法,查看该列表中有几个值为 x

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\", \"Huawei\"]>>> phones.count(\"Huawei\")2

使用内置函数len(),可以查看该列表中有几个值

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> len(phones)3

新增元素

使用列表的 append 、insert、和 extend 方法

append 方法:将元素插入在列表的最后一个位置

>>> phones = []>>> phones[]>>> phones.append(\"Apple\")>>> phones[\'Apple\']>>> phones.append(\"Huawei\")  # append 后 Huawei 会在最后一个位置>>> phones[\'Apple\', \'Huawei\']

insert 方法:将元素插入在列表的指定的位置

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> phones.insert(1, \"OPPO\")  # 把 OPPO 插入到索引为 1 的位置>>> phones[\'Apple\', \'OPPO\', \'Huawei\', \'Xiaomi\']

extend:将一个新的列表直接连接在旧的列表后面

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> new_phones = [\"OPPO\", \"VIVO\"]>>> phones.extend(new_phones)>>> phones[\'Apple\', \'Huawei\', \'Xiaomi\', \'OPPO\', \'VIVO\']

修改元素

直接使用 list[x]=new_item 的方法直接替换

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> phones[1] = \"OPPO\">>> phones[\'Apple\', \'OPPO\', \'Xiaomi\']

删除元素

使用 pop ,remove 、clear 方法或者 del 语句删除元素

pop 方法:删除指定位置的元素。默认删除最后一个元素,并返回

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> phones.pop()  # 删除最后一个元素\'Xiaomi\'>>> phones.pop(0) # 删除索引为0的元素\'Apple\'>>> phones[\'Huawei\']

remove:删除第一个值为 x 的元素。

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\", \"Huawei\"]>>> phones.remove(\"Huawei\")>>> phones[\'Apple\', \'Xiaomi\', \'Huawei\']

clear 方法:把所有的元素清空

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> phones.clear()>>> phones[]

del 语句:清空列表,还有另一种方法

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\"]>>> del phones[:]>>> phones[]

使用 del 语句,还可以删除某一个或者某几个连续的元素。

>>> phones = [\"Apple\", \"Huawei\", \"Xiaomi\", \"OPPO\", \"VIVO\"]>>> del phones[0]  # 删除索引为0的元素>>> phones[\'Huawei\', \'Xiaomi\', \'OPPO\', \'VIVO\']>>>>>> del phones[1:3]  # 删除索引在 [1:3) 区间内元素,注意是左闭右开区间>>> phones[\'Huawei\', \'VIVO\']

3. 列表反转

列表反转有两种方法

第一种方法:使用自带的 reverse 方法

>>> nums = [1,2,3,4,5]>>> nums.reverse()>>> nums[5, 4, 3, 2, 1]

第二种方法:使用切片的方法

>>> nums = [1,2,3,4,5]>>> nums[::-1][5, 4, 3, 2, 1]

这两种方法,区别在于:

reverse 方法是原地反转,作用在原对象上

切片反转是返回一个新对象,原对象不改变

4. 列表排序

列表的排序同样有两种方法:

第一种方法:列表对象内置了 sort 方法,可方便我们对元素进行排序。

>>> alist = [4,8,1,7,2]>>> alist.sort()>>> alist[1, 2, 4, 7, 8]

第二种方法:Python 有个内置的 sorted 函数,它不仅可用作列表的排序,后面我们还会学到 字典 等其他数据结构的排序也会用到它。

>>> alist = [4,8,1,7,2]>>> sorted(alist)[1, 2, 4, 7, 8]

不管用哪种方法,都要保证列表内的元素俩俩是可比较的。

比如,数值和数值是可比较的,字符串和字符串之间是可比较的。

但是数值和字符串是不可比较的,示例如下

>>> alist = [9,3,1,\"d\",\"k\",\"a\"]>>> alist.sort()Traceback (most recent call last):  File \"\", line 1, in TypeError: \'<\' not supported between instances of \'str\' and \'int\'

除了上面介绍的俩种之外,其实利用 sort 函数还可以实现自定义排序,这部分内容对于新手来说学习起来稍有点难度,且用到的场景也不多,因此这边我就不介绍啦。

审核编辑:符乾江

<!–

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: admin

为您推荐

智慧路灯照明系统的应用为智慧城市的发展建设添砖加瓦

智慧路灯照明系统的应用为智慧城市的发展建设添砖加瓦

智慧路灯照明系统的应用为智慧城市的发展建设添砖加瓦-夜间的路灯不仅照亮了黑暗的街道,而且照亮了回家的道路。从街上望去,闪烁的路灯发出暖光,指引着我们家的方向。城市里的路灯就像“守护者”,给长途旅行回来的游客带来了极大的安全感。 当今,路灯智能控制时代的到来,极大地促进了传统路灯的人工机械化运行。虽然对此感到兴奋,但我们不禁要问:随着路灯智能控制的早期到来,除了改善路灯的运行模式,还能带来什么? 为城市交通提供安全保障 城市公共照明系统中的智能路灯在每个路

晶振在五种不同行业中的应用说明

晶振在五种不同行业中的应用说明-晶振在五种不同行业的应用-由TST嘉硕代理KOYU光与电子

几种不同的物联网控制APP模式

本文就简单介绍当前几种物联网控制APP模式,让大家了解几种不同的技术路线。\” />

<meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1

苹果稳坐全球可穿戴设备数量首位,占据日本市场超7成份额

苹果稳坐全球可穿戴设备数量首位,占据日本市场超7成份额

苹果公司占据2021年日本第四季度可穿戴设备71.5%份额,占据全球可穿戴设备市场34.9%份额。\” />

<meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1

如何用GPUDirect存储器如何缓解CPU I / O瓶颈

除了使用 GPUs 而不是 CPU 加快计算的好处外,一旦整个数据处理管道转移到 GPU 执行,直接存储就起到了一个力倍增器的作用。这一点变得尤为重要,因为数据集大小不再适合系统内存,而且 GPUs 的数据 I / O 增长成为处理时间的瓶颈。当人工智能和数据科学继续重新定义可能的艺术时,启用直接路径可以减少甚至完全缓解这个瓶颈。\” />

<meta http-equiv=X-UA-Compatible content=\"IE=edge,chrome=1

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部