当前位置: 首页 > news >正文

【python入门篇】列表简介及操作(2)

列表是什么?

       列表是由一系列按特定顺序排列的元素组成。你可以创建包含字母表中的所有字母、数字 0~9 或所有家庭成员的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。列表通常包含多个元素,因此给列表指定一个表示复数的名称(如letters、digits或names)是个不错的主意。

一.环境配置

我这边python的环境是3.7.8版本的,官方下载路径如下:

1.python 3.7.8  

可直接进入官网下载安装:Download Python | Python.org

2.编译器选择的是spyder,可以通过pip接口进行安装:

 
pip install wheelpip install PyQt5pip install spyder

二.创建列表

1.在pyhton中,用方括号([])表示列表,并用逗号分隔其中的元素。

list1 = []

我们创建一个空的列表,并赋值给到了变量list1。

接下来我们往列表里面添加一些元素:

list1 = ['小明']print(list1)

输出:

所以,如果让python将列表打印出来,python将打印列表的内部表示,包括方括号。

三、访问列表

我们可以使用下标索引访问列表中的某个元素(得到一个元素的值),也可以使用切片访问列表中的一组元素(得到是子列表)。

下标索引访问元组分为两大类,即正向索引反向索引,我们通过实例来了解一下。

1.正向索引和反向索引

list1 = ['小m','小h','小a','小k','小p']print(list1[2])print(list1[-2])

输出:

注意:列表索引从0开始,list1[0]表示列表的第一个元素。即list1[0]='小m'。

正向索引:即从第一个元素(0)开始索引

反向索引:即从倒数第一个元素(-1)开始索引

2.切片访问

使用切片访问列表的格式为 list1[strat : end : step] :

start :表示起始索引位置

end: 表示结束索引位置

step: 表示步长

我们来看实例了解一下:

list1 = ['小m','小h','小a','小k','小p']print(list1[0:4:2])print(list1[-1:-5:-2])

输出:

我们这边新建列表添加元素赋值给变量list1,list1[0:4:2],代表从0开始索引到4结束,步长为2,所以打印出来就是['小m', '小a'],反方向切片访问则更改为反向索引即可。

四、列表修改、添加、合并和删除元素

1.修改列表内部元素

当列表创建以后,如果想要对列表中的元素进行更改要怎么做呢?

list1 = ['小m','小h','小a','小k','小p']list1[2] = '小b'print(list1)

输出:

我们找到想要修改的元素位置信息,直接赋值新的元素即可。

2.列表添加元素

我们可以使用append()这个函数往列表里面添加新的元素:

list1 = ['小m','小h','小a','小k','小p']list1.append('小c')print(list1)

输出:

注意:append()函数添加的元素在列表的末尾而不是任意位置。

3.合并列表元素

如果我们想要合并两个不同的列表,使用+号就可以了

list1 = ['小m','小h','小a','小k','小p']list2 = ['小q','小w']print(list1+list2)

输出:

这样就完成了列表的合并了,那如果想要list2的内容在前面list1的内容在后面应该怎么做呢?

也很简单,将两个位置更改一下在运算就好了,如下:

4.删除列表元素

(1)删除单个列表元素:del

list1 = ['小m','小h','小a','小k','小p']del list1[1]print(list1)

输出:

找到想要删除的元素位置信息,在前面加入del来删除指定的元素。

(2)删除整个列表元素:还是它 del

list1 = ['小m','小h','小a','小k','小p']del list1print(list1)

输出:

list1列表已经被删除,无法输出打印。

五、列表操作内置方法

1.insert()方法用于将指定对象插入列表的指定位置

语法:

list1.insert(position, element)
position必需。数字,指定在哪个位置插入值。
element必需。元素,任何类型(字符串、数字、对象等)。

实例:

list1 = ['小m','小h','小a','小k','小p']list1.insert(1,'小q')print(list1)

输出:

我们前面在添加列表元素时候已经说了append()的用法,这边就不在重复,insert()方法可以在任意位置添加元素或者列表。

2.sort()方法用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数

语法:

list1.sort(reverse=True|False, key=myFunc)
reverse可选。reverse=True 将对列表进行降序排序。默认是 reverse=False。
key可选。指定排序标准的函数。

实例:

list1 = ['A','F','B','H','I']list1.sort()print(list1)

 输出:

对列表进行降序排序:

list1 = ['A','F','B','H','I']list1.sort(reverse=True)print(list1)

输出:

六、练习题

1.执行下图代码,输出是?

A、小m       B、小h     C、小黑     D、小a

2.执行下图代码,输出为?

A、['小m', '小h', '小l', '小a', '小k', '小p', '小q']

B、['小m', '小h', '小a','小l' , '小k', '小p', '小q']

C、['小a', '小h', '小m','小l', '小k', '小p', '小q']

D、['小m', '小h', '小l','小a', '小k', '小q', '小p']

七、总结

今天主要针对列表一些重要知识、常用的函数做了一些讲解,很多用不上的就没有说了,后续继续来学习元组以及字符串的使用,谢谢。

@Neng

相关文章:

【python入门篇】列表简介及操作(2)

列表是什么? 列表是由一系列按特定顺序排列的元素组成。你可以创建包含字母表中的所有字母、数字 0~9 或所有家庭成员的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。列表通常包含多个元素,因此给列表指定一…...

数据结构与算法——19.红黑树

这篇文章我们来讲一下红黑树。 目录 1.概述 1.1红黑树的性质 2.红黑树的实现 3.总结 1.概述 首先,我们来大致了解一下什么是红黑树 红黑树是一种自平衡的二叉查找树,是一种高效的查找树。红黑树具有良好的效率,它可在 O(logN) 时间内完…...

js题解(三)

文章目录 柯里化模块乘法改变上下文 柯里化 已知 fn 为一个预定义函数,实现函数 curryIt,调用之后满足如下条件: 1、返回一个函数 a,a 的 length 属性值为 1(即显式声明 a 接收一个参数) 2、调用 a 之后&a…...

CompletableFuture异步回调

CompletableFuture异步回调 CompletableFutureFuture模式CompletableFuture详解1.CompletableFuture的UML类关系2.CompletionStage接口3.使用runAsync和supplyAcync创建子任务4.设置子任务回调钩子5.调用handle()方法统一处理异常和结果6.线程池的使用 异步任务的串行执行thenA…...

Python中匹配模糊的字符串

嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 如何使用thefuzz 库,它允许我们在python中进行模糊字符串匹配。 此外,我们将学习如何使用process 模块,该模块允许我们在模糊…...

PHP图片文件管理功能系统源码

文件图库管理单PHP源码直接解压就能用,单文件,indexm.php文件可以重新命名,上传到需要访问的目录中, 可以查看目录以及各个文件,图片等和下载及修改管理服务。 源码下载:https://download.csdn.net/downloa…...

(枚举 + 树上倍增)Codeforces Round 900 (Div. 3) G

Problem - G - Codeforces 题意: 思路: 首先,目标值和结点权值是直接联系的,最值不可能直接贪心,一定是考虑去枚举一些东西,依靠这种枚举可以遍历所有的有效情况,思考的方向一定是枚举 如果去…...

websocket逆向【python实现websocket拦截】

python实现websocket拦截 前言一、拦截的优缺点优点:缺点:二、实现方法1.环境配置2.代码三、总结前言 开发者工具F12,筛选ws后,websocket的消息是这样显示的,如何获取这里面的消息呢? 以下是本篇文章正文内容 一、拦截的优缺点 主要讲解一下websocket拦截的实现,现在…...

软件测试自动化的成本效益分析

随着软件测试技术的发展,人们已经从最初的手工测试转变为手工和自动化技术相结合的测试方法。目前,人们更多的是关心自动化测试框架、自动化测试工具以及脚本研究等技术方面,而在软件自动化测试方案的效益分析方面涉及较少。 软件测试的目的是…...

【Java】状态修饰符 final static

目录 final 修饰我们的成员方法、成员变量、类 示例代码: final 修饰的局部变量 示例代码: static 示例代码: static 访问特点: 示例代码: static关键字的用途 示例代码: static 修饰常量 示例…...

笔试编程ACM模式JS(V8)、JS(Node)框架、输入输出初始化处理、常用方法、技巧

目录 考试注意事项 先审完题意,再动手 在本地编辑器(有提示) 简单题515min 通过率0%,有额外log 常见输入处理 str-> num arr:line.split( ).map(val>Number(val)) 初始化数组 new Array(length).fill(v…...

learn掩码张量

目录 1、什么是掩码张量 2、掩码张量的作用 3、代码演示 (1)、定义一个上三角矩阵,k0或者 k默认为 0 (2)、k1 (3)、k-1 4、掩码张量代码实现 (1)、输出效果 &…...

激活函数介绍

介绍 神经网络当中的激活函数用来提升网络的非线性,以增强网络的表征能力。它有这样几个特点:有界,必须为非常数,单调递增且连续可求导。我们常用的有sigmoid或者tanh,但我们都知道这两个都存在一定的缺点&#xff0c…...

docker方式启动一个java项目-Nginx本地有代码,并配置反向代理

文章目录 案例导入说明1.安装MySQL1.1.准备目录1.2.运行命令1.3.修改配置1.4.重启 2.导入SQL3.导入Demo工程3.1.分页查询商品(仔细看代码,很多新的MP编程技巧)3.2.新增商品3.3.修改商品3.4.修改库存3.5.删除商品3.6.根据id查询商品3.7.根据id…...

前端和后端是Web开发选哪个好?

前端和后端是Web开发中的两个不同的领域,哪一种更适合学习?前景更广呢? 一、引言 Web前端开发就像装饰房间的小瓦匠,勤勤恳恳,仔仔细细,粉饰墙壁,妆点家具。会 HTML,CSS,懂点 JS。…...

HTTP协议,请求响应

、概述 二、HTTP请求协议 三、HTTP响应协议 四、请求数据 1.简单实体参数 RequestMapping("/simpleParam")public String simpleParam(RequestParam(name "name" ,required false ) String username, Integer age){System.out.println (username "…...

idea配置文件属性提示消息解决方案

在项目文件路径下找到你没有属性提示消息的文件 选中,ok即可 如果遇到ok无法确认的情况: 在下图所示位置填写配置文件名称即可...

EdgeView 4 for Mac:重新定义您的图像查看体验

您是否厌倦了那些功能繁杂、操作复杂的图像查看器?您是否渴望一款简单、快速且高效的工具,以便更轻松地浏览和管理您的图像库?如果答案是肯定的,那么EdgeView 4 for Mac将是您的理想之选! EdgeView 4是一款专为Mac用户…...

流程自动化(RPA)的好处有哪些?

流程自动化(RPA)是一种通过软件机器人实现业务流程自动化的技术。它可以模拟人类在计算机上执行的操作,从而自动化重复性、繁琐的任务,提高工作效率和准确性。流程自动化(RPA)的好处很多,下面我…...

医学影像系统【简称PACS】源码

PACS(Picture Archiving and Comuniations Systems)即PACS,图像存储与传输系统,是应用于医院中管理医疗设备如CT,MR等产生的医学图像的信息系统。目标是支持在医院内部所有关于图像的活动,集成了医疗设备,图像存储和分…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

零基础设计模式——行为型模式 - 责任链模式

第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

基于 TAPD 进行项目管理

起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

FFmpeg:Windows系统小白安装及其使用

一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】&#xff0c;注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录&#xff08;即exe所在文件夹&#xff09;加入系统变量…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...