学了 Python 但又感觉没学 Python 不如重学 Python - day4(数据类型:列表)

目录

1、创建列表

2、列表基本操作

3、索引与分片

4、矩阵

5、常用列表方法

(1)append 与 extend 方法

(2)insert 方法

(3)remove 与 pop 方法

(4)del 语句与 clear 方法

(5)copy 与 sort 方法


列表常量用方括号表示;列表可以包含任意类型的对象;列表是可变的;

列表储存的是对象的引用,而不是对象本身。

1、创建列表

使用 [] 或者 list() 创建一个空的列表;使用 range 函数创建连续整数的列表对象

a = []
b = list()
print(a, b)
c = list(range(1, 4))
print(c)

2、列表基本操作

 和前面介绍的字符串一样:求长度、合并、重复、迭代、关系判断

a = [1, 2, 3, 4, 5]
print(len(a))
b = a*3
print(b)
for i in a:print(i)
print('a' in a)
print(1 in a)

3、索引与分片

不同的就是列表对象可以被修改

a = [1, 2, 3, 4, 5]
print(a[0]) 
a[0] = 100   # 修改第一个列表对象
print(a[0])
b = a[1:3]
print(b)
a[1:3] = 'hello'  # 通过分片替换多个对象
print(a)

4、矩阵

 通过嵌套列表来表示矩阵:

一个位置信息索引嵌套的子列表;两个位置信息索引子列表包含的对象。

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

5、常用列表方法

(1)append 与 extend 方法

前者用于在列表末尾添加一个对象,后者则是添加多个对象。

这里要注意:append()方法会在原地修改列表,但它返回的是None。这是因为append()方法没有返回值,它只是将元素添加到列表的末尾,并更新了原列表,而不返回任何内容。因此,print(x.append('abc'))语句打印的是None,表示该操作没有返回有用的结果,只是修改了原列表。

( extend 方法也是如此,本身是没有返回值的)

x = [1, 2]
print(x.append('abc'))
x.append('abc')
print(x)

(2)insert 方法

 用于在指定位置插入对象

x = [1, 2, 3]
print(x)
x.insert(1, 'abc')
print(x)

(3)remove 与 pop 方法

remove 方法用于删除列表中的指定值,如果重复则删除第一个;

pop 方法可以删除指定位置的对象,默认删除最后一个对象,同时返回删除的对象。

x = [1, 2, 3]
x.remove(3)
print(x)
y = x.pop()
print(y)
print(x)

(4)del 语句与 clear 方法

del 用于删除指定对象或分片;clear 可以删除全部对象。

x = [1, 2, 3]
del x[1]
print(x)
x.clear()
print(x)

(5)copy 与 sort 方法

cop 方法用于复制列表对象;sort 方法用于列表对象排序。

注意:若列表对象全是数字,则按照从小到大排序;若全是字符串,则按照字典顺序排序;若包含多种类型,则会出错。此外我们还可以用 reverse 方法将列表对象位置反转。

x = [1, 5, 9, 2, 7]
y = x.copy()
print(y)
x.sort()
print(x)
x.reverse()
print(x)

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

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

相关文章

conda创建环境网络报错解决办法

文章目录 一、报错示例&#xff1a;二、解决办法&#xff1a;2.1 查看配置 conda config --show-sources2.2 修改文件 /home/XXXX/.condarc 一、报错示例&#xff1a; UnavailableInvalidChannel: HTTP 404 NOT FOUND for channel nvidia <http://mirrors.tuna.tsinghua.ed…

【机器学习-05】模型的评估与选择

在前面【机器学习-01】机器学习基本概念与建模流程的文章中我们已经知道了机器学习的一些基本概念和模型构建的流程&#xff0c;本章我们将介绍模型训练出来后如何对模型进行评估和选择等 1、 误差与过拟合 学习器对样本的实际预测结果与真实值之间的差异&#xff0c;我们称之…

一次完整的 HTTP 请求所经历的步骤

1&#xff1a; DNS 解析(通过访问的域名找出其 IP 地址&#xff0c;递归搜索)。 2&#xff1a; HTTP 请求&#xff0c;当输入一个请求时&#xff0c;建立一个 Socket 连接发起 TCP的 3 次握手。如果是 HTTPS 请求&#xff0c;会略微有不同。 3&#xff1a; 客户端向服务器发…

Redis 搭建主从集群

文章目录 1. 主从集群架构1.1 准备实例和配置1.2 启动1.3 开启主从关系1.4 测试 2. 主从同步原理2.1 全量同步2.2 增量同步repl_backlog原理 2.3 主从同步优化小结 单节点的 Redis 并发能力有限&#xff0c;要进一步提高 Redis 的并发能力&#xff0c;就需要搭建主从集群&#…

杰发科技AC7801——Flash数据读取

0. 简介 因为需要对Flash做CRC校验&#xff0c;第一步先把flash数据读出来。 1. 代码 代码如下所示 #include "ac780x_eflash.h" #include "string.h" #define TestSize 1024 ///< 4K #define TestAddressStart 0x08000000 uint8_t Data[7000]; int…

<DFS剪枝>数字王国之军训排队

DFS剪枝 其实就是将搜索过程一些不必要的部分直接剔除掉。 剪枝是回溯法的一种重要优化手段&#xff0c;往往需要先写一个暴力搜索&#xff0c;然后找到某些特殊的数学关系&#xff0c;或者逻辑关系&#xff0c;通过它们的约束让搜索树尽可能浅而小&#xff0c;从而达到降低时间…

MAC地址(静态、黑洞、优先级)

拓扑图 配置 1&#xff09;静态MAC地址配置 mac-address learning disable命令用来关闭MAC地址学习功能。 关闭MAC地址学习功能后&#xff0c;设备将不会再从该接口学习新的MAC地址。关闭MAC地址学习后可配置的动作有discard和forward。 关闭MAC地址学习功能的缺省动作为fo…

NSS [SWPUCTF 2022 新生赛]ez_ez_unserialize

NSS [SWPUCTF 2022 新生赛]ez_ez_unserialize 开题&#xff0c;直接给了题目源码。 简单看了一下&#xff0c;题目告诉我们flag在哪&#xff0c;而且类中有高亮文件方法。怎么拿flag已经很明显了。关键点在于__weakup()魔术方法固定死了我们高亮的文件。所以这题只需要绕过__w…

【故障排查】10分钟解决Quartz重复调度的疑难杂症

我司使用Apache DolphinScheduler作为调度框架很久了&#xff0c;感兴趣的小伙伴可以看看这些干货文章&#xff1a; 因为之前监控到会出现重复的调度的问题&#xff0c;所以此文记录排查重复调度问题的全过程&#xff0c;希望对社区其他的小伙伴能够起到抛砖引玉的作用&#x…

【学习】python函数语法(面像对象、封装函数)

阅读开源深度学习源码的时候&#xff0c;使用到了很多封装函数以及Python的高级语法&#xff0c;看起来很混乱很痛苦很困难。对python函数语法做个总结&#xff01;&#xff01;&#xff01; Table of Contents 熟练Python语法&#xff0c;尤其是函数参数、迭代器与生成器、函…

使用Redis做缓存的小案例

如果不了解Redis&#xff0c;可以查看本人博客&#xff1a;Redis入门 Redis基于内存&#xff0c;因此查询速度快&#xff0c;常常可以用来作为缓存使用&#xff0c;缓存就是我们在内存中开辟一段区域来存储我们查询比较频繁的数据&#xff0c;这样&#xff0c;我们在下一次查询…

C#,图论与图算法,有向图(Directed Graph)的环(Cycle)的普通判断算法与源代码

1 检查该图是否包含循环 给定一个有向图,检查该图是否包含循环。如果给定的图形至少包含一个循环,则函数应返回true,否则返回false。 方法:深度优先遍历可用于检测图中的循环。连接图的DFS生成树。只有当图中存在后缘时,图中才存在循环。后边是从节点到自身(自循环)或…

[视觉基础知识]: img to bev # include bev seg

参考&#xff1a;https://towardsdatascience.com/monocular-birds-eye-view-semantic-segmentation-for-autonomous-driving-ee2f771afb59 有源传感器&#xff08;lidar or radar&#xff09;得到的数据&#xff0c;天然就是一种bev表示&#xff08;x-y平面&#xff09;&#…

想速成AD?凡亿教育正式上线《Altium Designer 24:150讲操作速成实战课程》

随着电子技术的不断发展,芯片生产工艺迭代更新,印制电路板(PCB)结构日益复杂,从最早的单片机到双面板,再到复杂的多层板结构,电路板上的布线密度越来越高。 同时,随着DSP、ARM、FPGA、DDR等高速逻辑元件的应用,PCB的信号完整性和抗干扰性能显得尤为重要,光靠EDA软件的自动布线…

LeetCode每日一题 翻转二叉树(二叉树)

题目描述 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1] 示例 2&#xff1a; 输入&#xff1a;root [2,1,3] 输出&#xff1a;[2,3,1]示…

Mistral AI vs. Meta:两大 Top 开源模型的对比

编者按&#xff1a; 随着大模型的不断升级和参数量的持续扩大&#xff0c;越来越多人开始重视大模型存在的硬件资源要求高、碳排放量较大等问题。如何在保持模型性能的同时&#xff0c;降低计算成本和资源消耗&#xff0c;成为了业界一个迫切需要解决的问题。 我们今天为大家带…

Servlet使用

文章目录 简介一、快速入门二、Servlet 执行流程三、Servlet 生命周期四、Servlet 方法介绍五、Servlet 体系结构六、Servlet urlPattern配置七、XML 配置方式编写 Servlet 简介 一、快速入门 <dependencies><dependency><groupId>javax.servlet</groupId…

个人网站制作 Part 9 添加发布、管理博客功能 | Web开发项目

文章目录 &#x1f469;‍&#x1f4bb; 基础Web开发练手项目系列&#xff1a;个人网站制作&#x1f680; 添加博客功能&#x1f528;使用Express和MongoDB&#x1f527;步骤 1: 创建博客模型&#x1f527;步骤 2: 创建博客路由 &#x1f528;使用前端框架&#x1f527;步骤 3:…

外包干了28天,技术退步明显......

说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入深圳某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&a…

Testng框架集成新业务

总体框架设计见我另一篇博客&#xff1a;httpclienttestng接口自动化整体框架设计 <block&#xff1a;表示测试用例块> block后面是 测试用例的名称 ||接口名,该接口名在URL.txt里维护接口 ||get\post&#xff1a;表示请求的方法 get_1\2\3\4&#xff1a;代表加密 get: …