| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 大数协python训练营打卡笔记Task04 -> 正文阅读 |
|
[Python知识库]大数协python训练营打卡笔记Task04 |
一、学习知识点概要(一)列表(定义、创建、添加、删除、获取、常用操作符、其他方法) (二)元组(创建和访问、更新和删除、相关操作符、内置和解压) 二、学习内容(一)列表1.列表的定义:列表是有序集合,没有固定大小,能够保存任意数量任意类型的 Python 对象。 语法为[元素1,元素2,……]。 注意:中括号 逗号 中括号:把所有元素绑在一起;逗号:将每个元素一一分开 2.列表的创建①创建一个普通列表
②利用range()创建列表可以递增也可以递减
③利用推导式创建列表
④创建一个4x3的二维数组
注意: 1、由于list的元素可以是任何对象,因此列表中所保存的是对象的指针。即使保存一个简单的[1,2,3],也有3个指针和3个整数对象。 2、[a]*4操作中,只是创建4个指向list的引用,所以一旦 ⑤创建混合列表
⑥创建空列表
注意:列表内容是可更改的,因此可以用到append、extend来附加;insert来插入、remove和pop来删除。 3.向列表中添加元素①list.append(obj)在列表末尾添加新的对象,只接受一个参数,参数可以是任何数据类型,被追加的元素在 list 中保持着原结构类型。若被增加的元素是一个 list,那么这个 list 将作为一个整体进行追加。
②list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
注意:【append和extend的区别】严格来说append是追加,把一个东西整体添加在列表后,而extend是扩展,把一个东西里的所有元素添加在列表后。 ③list.insert(index.obj)在编号index位置插入obj
4.删除列表中的元素①list.remove(obj)移除列表中某个值的第一个匹配项
②list.pop([index=-1])移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
注意:【remove和pop的区别】 remove和pop都可以删除元素,前者是指定具体要删除的元素,后者是指定一个索引。 【删除单个或多个对象:】
【删除的元素是否再次使用】如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del语句;如果你要在删除元素后还能继续使用它,就使用方法pop()。 5.获取列表中的元素 通过元素的索引值,从列表获取单个元素(列表索引值是从0开始的)。 让python返回最后一个列表元素则索引指定为-1,返回倒数第二个列表元素则索引指定为-2. 切片的通常写法:start:stop:step ①"start:"以step 为 1 (默认) 从编号start往列表尾部切片。
②":stop"以step为 1 (默认) 从列表头部往编号stop切片。
③"start:stop"以step为 1 (默认) 从列表头部从编号start往编号stop切片。
④"start:stop:step"以具体的step 从列表头部从编号start往编号stop切片。若step设置为-1,则相当于将列表反向排列。
⑤":"复制列表中的所有元素(浅拷贝)。
【浅拷贝和深拷贝】 6.列表的常用操作符等号操作符: 连接操作符 重复操作符 成员关系操作符 「等号 ==」,只有成员、成员位置都相同时才返回True。 列表拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。 注意: 前面三种方法(append、extend、insert)可对列表增加元素,它们没有返回值,是直接修改了原数据对象。 而将两个list相加,需要创建新的 list 对象,从而需要消耗额外的内存,特别是当 list 较大时,尽量不要使用 “+” 来添加list。 7.列表的其他方法①list.count(obj):统计某个元素在列表中出现的次数②list.reverse():反向列表中元素③list.sort(key=None,reverse=False):对原列表进行排序?(1)key--主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。 ?(2)reverse--排序规则,reverse = True 降序,reverse = False 升序(默认)。 ?(3)该方法没有返回值,但是会对列表的对象进行排序。 (二)元组「元组」定义语法为:(元素1,元素2,……) 每个元素都用逗号隔开,小括号将所有元素括起来。 1. 创建和访问一个元组【元组和列表的区别】 ①元组与列表类似,不同之处在于元组被创建后就不能对其进行修改,类似字符串。 ②元组使用小括号,列表使用方括号。 ③元组与列表类似,也用整数来对它进行索引 (indexing) 和切片 (slicing)。
注意:创建元组可以用小括号 ()或不用,为了可读性,建议还是用 ()。 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用。 2.更新和删除一个元组元组有不可更改 (immutable) 的性质,因此不能直接给元组的元素赋值,但是只要元组中的元素可更改 (mutable),那么我们可以直接更改其元素,注意这跟赋值其元素不同。 【例子】
3.元组相关的操作符等号操作符: 连接操作符 重复操作符 成员关系操作符 「等号 ==」,只有成员、成员位置都相同时才返回True。 元组拼接有两种方式,用「加号 +」和「乘号 *」,前者首尾拼接,后者复制拼接。 4.内置方法(两种)①count('python')是记录在元组t中该元素出现几次,显然是 1 次 ②index(1.1)是找到该元素在元组t的索引,显然是 1 5.解压元组解压一维元组、二维元组、只想要元组其中几个元素、不在乎rest变量 三、学习问题与解答(自己遇到的问题+课后题)【自己遇到的问题】1.不太理解浅拷贝与深拷贝【课后题】?一、列表lst 内容如下lst = [2, 5, 6, 7, 8, 9, 2, 9, 9] 请写程序完成下列操作:
1.
2.
3.
4.
5.
6.从小到大:
二、修改列表lst = [1, [4, 6], True] 请将列表里所有数字修改成原来的两倍
写了才认识到*是重复符,不会让列表中的数字变成原来的两倍 三、leetcode 852题 山脉数组的峰顶索引看都看不懂…… 四、写出下面代码的执行结果和最终结果的类型1.
2.
?3.
?五、拆包四、学习思考与总结1.列表推导式
?还可以添加上if语句:
执行顺序:①首先执行列表推导式;②执行if分句;③最后才执行左侧的表达式 更复杂的列表推导式:嵌套 ? ?【总结】 ①因为这两天事情比较多所以做得很赶,这部分的学习加笔记用时大概在六个小时 ②课后题也没有写完,会在明天下午16:30前自己补充完整。 ③字符串没有学完 会整理在下次的笔记中。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:32:50- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |