Python基础知识——列表

news2024/9/29 17:57:49

列表

列表是可以存放任何数据,包括整型,浮点型,字符串,布尔型等等,是常用的数据类型之一。

1.列表的创建
列表也是一个可迭代对象
1. 普通形式
        l = [1,2,3,4,5] ---整型列表
        l = ["a","b","c"] ---字符串列表
        l = [True,False,1>2,5<6]---布尔列表
2. 混合列表
		l = [1,2.5,"a",True]
3. 空列表
		l = []
  • 从列表中如何获取数据(元素)

列表是有下标的,并且下标从0开始,元素是指列表中每个数据,例如l = [5,4,3,2,1] 里面有5个元素,但5的下标为0,1的下标为4。

1.获取当个数据(元素)
	语法:
		变量[下标] #获取下标所对应的值

例如获取l列表中下标为1的元素:

l = [1, 2, 3]  # 下标/索引:0开始
print(l[1])

执行结果为:

2
2. 列表的遍历
列表的遍历是把列表里面的所有元素都获取1遍。

例如把[1,2,3,4,5]里面的元素都获取并输出一遍:

l = [1,2,3,4,5]
for i in l:
    print(i, end=" ")

执行结果为:

1 2 3 4 5 
3. 交换数据
对指定下标的元素进行数据交换。

例如把[1, 2, 3, 4, 5]里面的下标为第2和第3的元素进行数据交换:

l = [1, 2, 3, 4, 5]  # 下标/索引:0开始
l[2], l[3] = l[3], l[2]
print(l)

执行结果:

[1, 2, 4, 3, 5]

2.添加元素

添加元素的方法常用的有以下3个:

在这里插入图片描述

统一用法是:

变量.函数
#例如 n. append(对象)

例子:讲列表[6,7]添加到另一个列表[1,2,3,4,5]中

l = [1, 2, 3, 4, 5]
l.extend([6, 7])
print(l)

执行结果:

[1, 2, 3, 4, 5, 6, 7]

3.删除元素

删除列表中的元素的常用方法主要有:

在这里插入图片描述

例子:删除列表[1, 2, 3, 4, 5]中4这个元素。

l = [1, 2, 3, 4, 5]
l.remove(4)
print(l)

执行结果为:

[1, 2, 3, 5]

4. 修改元素

修改列表中的元素方法其实很简单,直接用这个方式就可以了:

变量[下标]=新值

例如:

l = [1, 2, 3, 4, 5]
l[2]=6
print(l)

执行结果:

[1, 2, 6, 4, 5]

5.列表高级特性的
  • 切片操作

切片,顾名思义就是把1个列表切分为多个列表,语法如下:

变量[起始下标:结束下标] 	#结束下标取不到

例如

l = [1, 2, 3, 4, 5]
print(l[0:4])

执行结果:

[1, 2, 3, 4]

做切片操作时要注意以下几个点:

①如果下标从0开始可以省略不写,例如 n = l[:4]
②如果结束下标取的是最后一个元素,可以省略不写,例如 n = l[3:]
③如果列表中的元素都要,开始和结束下标都可以省略,例如 n = l[:]
④n = l[:-1] 表示从0开始 - 到数二个元素
  • 列表的进阶操作
    方法是 n = l[开始:结束:步长] ,这个方法既可以正向去操作列表,也可以反向去操作列表,例如:
l = [1, 2, 3, 4, 5]
n = l[-1:-3:-1]
print(n)

执行结果:

[5, 4]
  • 列表的一些操作符
  1. 比较运算符
    列表之间进行比较,以相同下标进行比较,从小到大进行比较,如果值相同则比较下一组元素,如果不同直接出结果,例如:
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # 下标/索引:0开始
l2 = [2, 3, 4, 6]
print(l < l2)  # True

执行结果:

True
  1. 逻辑运算符

逻辑运算符and not or 跟比较运算符相似,返回结果都是布尔值(True/False),这里可以去自己尝试一下。

  1. 拼接运算符

拼接运算符是 + ,常用来进行两个列表拼接,例如:

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  # 下标/索引:0开始
l2 = [2, 3, 4, 6]
print(l + l2)

执行结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2, 3, 4, 6]
  1. 重复操作符

重复操作符为 * ,后面常跟数字,表示将列表里面的元素重复复制几遍,例如:

l2 = [2, 3, 4, 6]
print(l2*2)

执行结果:

[2, 3, 4, 6, 2, 3, 4, 6]
  1. 成员关系操作符

成员关系操作符主要有 in和not in,用来判断元素是否在列表中,返回结果是布尔值,例如:

l = [2, 3, 4, 6]
print(5 not in l)	#输出“5不在列表l中”这句话的真假

执行结果:

True	
  • 列表的其他方法

列表常用的其他方法还有以下几个:

在这里插入图片描述

例如:将列表里面的所有元素进行翻转

l = [2, 3, 4, 6]
l.reverse()
print(l)

执行结果:

[6, 4, 3, 2]
  • 冒泡排序法

冒泡排序是列表里面比较有名的排序方法之一,例如将列表[5,4,3,2,1]里面的所有元素用冒泡排序的思想进行从小到大排序。

l = [6, 5, 4, 3, 2, 1]
for i in range(1, len(l)):  # 1,5 #循环4大次  4
    for j in range(len(l) - i):
        if l[j] > l[j + 1]:
            l[j], l[j + 1] = l[j + 1], l[j]

print(l)

执行结果:

[1, 2, 3, 4, 5, 6]
  • 选择排序

选择排序是让列表中的元素,固定一个元素和其他元素进行比较,不符合条件互换位置。

l = [6, 5, 4, 3, 2, 1]
for i in range(0, len(l) - 1):  # 0,4
    for j in range(i + 1, len(l)):  # 1,5
        if l[i] > l[j]:
            l[i], l[j] = l[j], l[i]

print(l)

执行结果:

[1, 2, 3, 4, 5, 6]
  • 二维列表

列表里面还能存放多个列表,由比如列表 [[1,2,3],[4,5,6],[7,8,9]] ,它是由两个维度的列表组成,1个维度是它本身,另一个维度是[1,2,3],[4,5,6],[7,8,9] 这三个列表,所以构成了二位列表。

对于二位列表,语法是:

变量[外层列表下标][内层列表的下标]

例如输出二位列表中的第一个列表里面的下标为1的元素:

l = [[1,2,3],[4,5,6],[7,8,9]]
print(l[0][1]) #2

执行结果为:

2

在这里我们可以看得出来,二位列表里面的外层列表也有下标,下标也是从开始。

我们再来对二位列表进行遍历:

l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for i in l:
    for j in i:
        print(j)

执行结果:

1
2
3
4
5
6
7
8
9

Python基础知识学习持续更新中!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381083.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一篇搞懂tcp,http,socket,socket连接池之间的关系

前言 作为一名开发人员我们经常会听到HTTP协议、TCP/IP协议、UDP协议、Socket、Socket长连接、Socket连接池等字眼&#xff0c;然而它们之间的关系、区别及原理并不是所有人都能理解清楚&#xff0c;这篇文章就从网络协议基础开始到Socket连接池&#xff0c;一步一步解释他们之…

激光雷达上车「热」背后的焦虑

激光雷达的上车节奏正在加速。 高工智能汽车研究院监测数据显示&#xff0c;从2022年9月至今&#xff0c;中国市场乘用车月度前装标配搭载激光雷达一直保持在1.5万台以上&#xff0c;其中&#xff0c;去年12月更是单月冲破3万台大关。 本周&#xff0c;Luminar宣布扩大与梅赛德…

实现小说自由,国产浏览器出手了,吊打各类阅读软件

喜欢看小说的朋友都知道&#xff0c;有时候看小说看到一定的章节就要收费了&#xff0c;那我们怎么实现小说阅读自由&#xff0c;免费看完整部小说呢&#xff1f;下面给大家分享可以免费看小说的良心浏览器&#xff0c;吊打各类阅读软件&#xff0c;真的是巨好用。无论是古代穿…

【读论文】THFuse

【读论文】THFuse介绍网络架构多分支CNN特征提取块基于VIT的全局特征提取快图像重建块损失函数总结参考论文&#xff1a; https://www.sciencedirect.com/science/article/abs/pii/S0925231223000437如有侵权请联系博主介绍 一篇基于CNN和VIT的关于红外可视图像融合的论文&…

【wpf】ItemsControl 的Binding 小技巧

ItemsControl 非常常用和好用的控件&#xff0c;我经常将之用于配置界面&#xff01; 比如这么一个配置界面&#xff1a; 整体是一个ItemsControl&#xff0c;每个子界面就是其中的一个Item。 ItemsControl 的 ItemsSource 绑定到 ParameterInfo 的集合 public ObservableCo…

最简单的微信多开防撤回方式

微信&#xff0c;大家工作中生活中用的最多的一款应用&#xff1b;很多公司喜欢用微信来作为工作沟通的工具&#xff0c;官方原版只支持登陆一个微信&#xff0c;这对于需要在电脑上登陆多个微信账号的朋友来说肯定是极其的不方便。另外有的时候别人撤回了一些重要消息&#xf…

目前医疗器械数据库有哪些?最推荐哪些?

在英特网发达的今天&#xff0c;医疗器械信息查询应该是一件便捷的事情&#xff0c;但不知道大家有没有遇到过这种类似情况&#xff0c;就是在查询医疗器械信息时&#xff0c;如果通过百度去检索&#xff0c;查到的结果往往会不尽人意&#xff0c;比如信息陈旧、太分散、来源不…

Spring security 个人理解

改文章写的很好&#xff1a;https://zhuanlan.zhihu.com/p/342755411 Spring security 分为两个部分 登陆认证权限认证 登陆认证 其实就是就是登陆注册&#xff0c;然后获取登陆凭证的问题 操作如下 登陆账号密码&#xff0c;通过账号查询出用户数据&#xff0c;然后密码进…

如何使用DeadFinder寻找失效链接

关于DeadFinder DeadFinder是一款功能强大的链接分析工具&#xff0c;该工具可以帮助广大研究人员快速地寻找目标页面中的无效链接&#xff08;死链&#xff09;。所谓死链&#xff0c;即一个页面中存在的无法被连接的一条链接。这些链接如果一直保留在页面中的话&#xff0c;…

Hive中的高阶函数(二)

1、UDTF之explode函数 explode(array)将array列表里的每个元素生成一行&#xff1b; explode(map)将map里的每一对元素作为一行&#xff0c;其中key为一列&#xff0c;value为一列&#xff1b; 一般情况下&#xff0c;explode函数可以直接使用即可&#xff0c;也可以根据需要结…

[python入门(53)] - python中的OS模块(包) - 2

目录 ❤ OS模块和path模块(函数) ❤ os模块中操作目录以及文件的函数 ❤ os模块中遍历目录数 ❤ 一些表现形式参数 ❤ 获取在进程的控制终端上登录的用户的名称&#xff1a; os.getlogin() &#xff08;即此时pc登录的用户名&#xff09; ❤ 总结 ❤ os.listdir()…

3月4日线下讲座《项目经理五项管理锦囊》

在项目管理过程中&#xff0c;你是否有过因为人际关系紧张&#xff0c;而导致团队协作不顺畅&#xff1f; 项目团队内耗严重&#xff0c;成员之间缺乏信任冲突较多&#xff0c;影响士气项目质量及项目周期等问题&#xff1f; 为什么会导致这样的结果&#xff1f;如何避免踩坑&a…

TAS5411QPWPRQ1引脚图LP873220RHDRQ1汽车应用开关稳压器

8W单声道汽车类D类音频放大器&#xff1a;TAS5411QPWPRQ1引脚图 【概述】TAS5411-Q1是一款单声道D类音频放大器&#xff0c;非常适用于汽车类紧急呼叫(eCall)、远程信息处理、仪表板应用。该器件采用14.4VDC汽车电池供电&#xff0c;可在负载为4Ω且THDN不超过10%的情况下提供高…

MQTT的学习之Mosquitto集群搭建

文章钢要&#xff1a; 1、进行双服务器搭建 2、进行多服务器搭建 一、Mosquitto的分布式集群部署 如果需要做并发量很大的时候就需要考虑做集群处理&#xff0c;但是我在查找资料的时候发现并不多&#xff0c;所以整理了一下&#xff0c;搭建简单的Mosquitto集群模式。 首…

Win11搜索栏无法使用怎么办?

随着Windows 11的正式发布&#xff0c;许多用户已经升级了他们的操作系统。但是安装Win11系统之后&#xff0c;人们发现它有一些问题。例如&#xff0c;Win11搜索栏无法使用&#xff0c;这极大地影响了用户体验。那我们该如何解决Windows搜索栏用不了这一问题&#xff1f;方法1…

Matplotlib精品学习笔记002-Pyplot详解,快速绘图

Matplotlib精品学习笔记002-Pyplot详解&#xff0c; matplotlib.pyplot集合了一系列功能&#xff0c;运行起来和MATLAB相似。 每个pyplot功能都会对画布&#xff08;figure&#xff09;进行修改&#xff1a;包括创建画布&#xff0c;在画布上创建一个画图区&#xff0c;向画图…

【JVM】垃圾回收器

垃圾回收器 Serial收集器 单线程&#xff0c;进行垃圾收集工作时必须暂停其他所有的工作线程。STW造成了不好的用户体验。 新生代采用复制算法&#xff0c;老年代采用标记整理算法。 Serial Old Serial 收集器的老年代版本&#xff0c;它同样是一个单线程收集器。它主要有两…

FairGuard-Windows加固工具版本更新日志

FairGuard-Windows加固工具1.2.2版本更新日志&#xff1a; ■ 增加Unity Resources资源加密的支持; ■ 增加单独Assetbundle资源加密&#xff0c;并同时支持压缩包和文件夹作为输入的方式; ■ 增加对游戏原文件夹加固的支持; Windows加固方案介绍 FairGuard专为游戏量身定…

IntelliJ IDEA 安装JRebel实现热部署详细版(亲测有效)

简介 JRebel可快速实现热部署&#xff0c;节省了大量重启时间&#xff0c;提高了个人开发效率。 JRebel是一款JVM插件&#xff0c;它使得Java代码修改后不用重启系统&#xff0c;立即生效。 安装JRebel 1.file–>setting–>plugins–>在Marketplace的搜索框输入JRe…

【记录问题】RuntimeError:working outside of application context. Flask使用SQLAlchemy数据库

前提&#xff1a;Flask使用SQLAlchemy数据库 本质&#xff1a;依赖包版本不匹配 问题1&#xff1a;报错RuntimeError&#xff1a;working outside of application context. 运行程序报错&#xff0c;如下错误&#xff1a; 原因&#xff1a;flask-sqlalchemy 版本过高导致&am…