| |
|
开发:
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列表、元组、字典、集合 -> 正文阅读 |
|
[Python知识库]Python列表、元组、字典、集合 |
列表? 在python中用[ ]表示一个列表。 索引和切片? 列表中使用的索引和切片类似于字符串中的(从零开始,包左不包右)这里不过多解释,介绍两种稍微特殊点的表达方式。
? a[3][2]表示的是对列表进行两次切片。第一个[ ]的含义是取出列表中第几个元素,第二个[ ]的含义是对取出的元素进行进一步切片处理。
? 列表从右编号时,右边第一个就是-1号,从右往左依次降低。在列表中序列都是从左往右读取的。所以当列表的索引是负数时a[-1:-3],表示的是从右往左所以输出为空。 列表操作方法? len()求长度 ? "+"连接两序列 ? “*”重复 ? in 判断元素是否在列表中 ? max()、min()返回列表中最大、最小的元素 a.append(b) 将某个元素x加入到列表的最右侧。将b中的元素整体加入到a中。append()函数修改列表是在原地修改的,即没有产生变量占用其他内存。
a.extend(b)将b中的所有元素加入到a中,让a扩容。 (将b中的元素个体化然后添加到a中实现对a的扩容)。extend()也是在原地修改列表的。
? a.count(b)在列表a中查找b出现的次数。 ? a.index(b)查找b在a中的位置。若不存在就报错,若出现多次,返回值为第一次出现的位置。
? insert() 上述介绍的append()和extend()函数只能在列表的最右边添加元素。insert()能够在任意位置添加元素。a.insert(i,b) 在列表a的第i个位置添加b ? a.remove(b)从列表a中删除b 如果b没有在a中那么报错,如果b在a中那么在原地删除b。如果有多个b那么删除第一个b。 a.pop([i])从列表a中删除第i个元素,并将这个删除的元素作为返回值返回。a.pop()默认的是删除最后一个元素。当i超出索引时报错。 reverse()将列表中的元素顺序反转。原地操作而不是生成一个新的列表(什么是新的列表?在原来位置的列表发生变化,这种情况不是生成新的列表。举个例子:一个人一个坑,人换了坑还是那个坑,只是人不同了。当生成的列表占用其他位置时,就是产生了新的列表),所以没有返回值。 多维列表
元组? ?元组中的元素是任意类型的Python对象。元组使用圆括号括起来的,其中的元素之间用逗号(英文半角)隔开。 (, , , ) 举例:
? 元组上的索引与列表、字符串相似不在介绍。 ?值得注意的是元组是不可修改的,里面的元素都是确定的无法更改。 元组与列表是互通的通过list()和tuple()两者可以相互转化。
字典? 字典使用花括号括起来,有多个键值对组成 键:值每对键值对之间用逗号(英文半角)隔开。在字典中键是无法改变的数据类型,值是可以任意改变的。 1、如何生成字典直接生成
?利用元组来生成字典
2、如何访问字典? 字典类型对象是通过键值对的形式来储存数据的,所以只要知道了键,就能够得到值。
3、对字典的操作假设person是一个字典 len(person)返回字典person中的键值对的数量。 person[key1] 返回字典person中键key1对应的值 person[key1]=value1 将键key1对应的值改变为value1 del person[key1] 删除字典person中key1d对应的键值对 key1 in person检查key1是否在字典person中。 浅拷贝和深拷贝在讲这部分之前举个例子:
对象有类型,变量无类型,变量就是一个标签?通过上述操作我们可以发现1的位置只有一个,a、b不过是给1这个对象贴上了两个标签而已。这种赋值的方式也叫做“假装拷贝”。 在python中使用copy()函数可以实现浅拷贝,什么是浅拷贝呢?举个例子:
? 使用copy()函数就可以产生一个新的id去储存这个变量。在两个不同的坑里,彼此互不相干,修改person中的值,people中的值不会发生变化。 cope()函数实现了划分新的id储存变量克服了假拷贝的缺点,那为什么叫做浅拷贝呢?举个例子:
使用了函数copy()为什么更改a中的值b中的值也发生了变化呢? 通过调用id我们就可以发现其中的原因。这是因为在使用copy()时,列表这类由字符串、数字等复合而成的对象仍然是复制了引用,没有建立一个新的对象,所以这时要引入一个“深拷贝”来解决这个事情。 ? 在python中要使用“深拷贝”,需要先引用一个模块。
集合如何创建集合: set()
set建立起来的集合都是可变集合。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/15 23:21:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |