0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python列表的详细介绍

python爬虫知识分享 ? 来源:python爬虫知识分享 ? 作者:python爬虫知识分享 ? 2022-02-22 15:14 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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 函数还可以实现自定义排序,这部分内容对于新手来说学习起来稍有点难度,且用到的场景也不多,因此这边我就不介绍啦。

审核编辑:符乾江

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4385

    浏览量

    65161
  • python
    +关注

    关注

    56

    文章

    4831

    浏览量

    87484
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    产品列表获取API接口详解

    ? 在现代软件开发中,API(应用程序编程接口)是获取产品列表的核心工具,它允许开发者从远程服务器高效地检索数据。本文将逐步介绍如何设计和使用产品列表获取API接口,包括核心概念、实现步骤、代码示例
    的头像 发表于 07-24 14:29 ?144次阅读
    产品<b class='flag-5'>列表</b>获取API接口详解

    基础篇3:掌握Python中的条件语句与循环

    : print(\"你还很小。\") 循环 循环允许程序重复执行一段代码,直到满足某个条件为止。Python中有几种不同的循环结构。 for循环 for循环通常用于遍历序列(如列表、元组
    发表于 07-03 16:13

    目前Mirco Python sdk触摸到底支持什么驱动啊 ?

    目前的Mirco Python sdk触摸到底支持什么驱动啊 能不能有资料详细说明 GT911 触摸驱动是否支持啊
    发表于 06-24 07:02

    跟老齐学Python:从入门到精通

    础的学习者介绍一门时下比较流行、并且用途比较广泛的编程语言,所以,本书读起来不晦涩,并且在其中穿插了很多貌似与Python 编程无关,但与学习者未来程序员职业生涯有关的内容。 获取完整文档资料可下载附件哦!!!! 如果内容有帮助可以关注、点赞、评论支持一下哦~
    发表于 06-03 16:10

    python入门圣经-高清电子书(建议下载)

    和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容; 第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python
    发表于 04-10 16:53

    零基础入门:如何在树莓派上编写和运行Python程序?

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是
    的头像 发表于 03-25 09:27 ?890次阅读
    零基础入门:如何在树莓派上编写和运行<b class='flag-5'>Python</b>程序?

    STM32G0B1VE芯片的CAN过滤器分为掩码模式和列表模式,在列表模式下,可过滤多少个ID呢?

    STM32G0B1VE芯片的CAN过滤器分为掩码模式和列表模式,在列表模式下,可过滤多少个ID呢?芯片手册中未有详细说明
    发表于 03-12 07:16

    Python中的迭代器与生成器

    Python迭代器与生成器 列表生成式 列表生成式也叫做列表推导式,它本身还是列表,只不过它是根据我们定义的规则来生成一个真实的
    的头像 发表于 02-20 10:43 ?436次阅读

    谁能详细介绍一下track-and-hold

    在运放和ADC芯片的数据手册中经常看到track-and-hold,谁能详细介绍一下track-and-hold?
    发表于 01-20 09:10

    使用Python实现xgboost教程

    使用Python实现XGBoost模型通常涉及以下几个步骤:数据准备、模型训练、模型评估和模型预测。以下是一个详细的教程,指导你如何在Python中使用XGBoost。 1. 安装XGBoost
    的头像 发表于 01-19 11:21 ?1415次阅读

    详细的注塑成型工艺介绍

    详细的注塑成型工艺介绍
    的头像 发表于 11-27 09:58 ?580次阅读
    <b class='flag-5'>详细</b>的注塑成型工艺<b class='flag-5'>介绍</b>

    利用Python脚本登录到交换机并创建VLAN

    本文将详细介绍如何利用Python脚本登录到交换机并创建VLAN。
    的头像 发表于 08-12 17:59 ?1024次阅读

    使用Python进行Ping测试

    )请求包,然后等待目标主机返回响应包,从而测量网络的延迟和丢包情况。随着Python编程语言的广泛应用,越来越多的网络工程师开始使用Python进行自动化网络测试和管理任务。本篇文章将详细介绍
    的头像 发表于 08-12 17:56 ?1071次阅读
    使用<b class='flag-5'>Python</b>进行Ping测试

    使用Python脚本备份华为交换机的配置信息

    在现代网络管理中,备份交换机的配置信息是一项至关重要的任务。备份可以确保在交换机发生故障或配置错误时,能够迅速恢复到之前的工作状态。本文将详细介绍如何使用Python脚本备份华为交换机的配置信息。
    的头像 发表于 08-12 17:50 ?1393次阅读
    使用<b class='flag-5'>Python</b>脚本备份华为交换机的配置信息

    使用Python批量连接华为网络设备

    随着网络规模的扩大和设备数量的增加,手动配置和管理每台网络设备变得越来越不现实。因此,自动化工具和脚本变得尤为重要。Python语言以其简洁性和强大的第三方库支持,成为了网络自动化领域的首选。本篇文章将详细介绍如何使用
    的头像 发表于 08-12 17:48 ?966次阅读