| |
|
开发:
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基础知识2 -> 正文阅读 |
|
[Python知识库]python基础知识2 |
接上,可变字符串 io.StringIO对象或array模块,可以原地修改字符串。(修改频繁时要学会使用这个)
基本运算符: ? bin()可以将数字转成二进制表示?。 位操作:按位或:1或0为1;按位与:1与0为0;按位异或:不一样的为1,一样为0;<<2:左移1位相当于乘以2,左移2位,相当于乘以4;>>1:右移1位相当于除以2。 列表、元组等合并相当于字符串拼接,他们也可以复制,与字符串复制相同。 复合赋值运算符: ? 运算符优先级问题: ? 复杂表达式一定要使用小括号组织。(位运算和算术运算>比较运算符>赋值运算符>逻辑运算符) 序列:一种数据存储方式,用来存储一系列的数据。python中常用的序列结构有:字符串、列表(可以存储任意数目、任意类型的数据集合)、元组、字典、集合。 一、列表(可变序列,可以任意修改列表中的元素) 1.列表对象的常用方法:(如图) ? 列表大小可变,根据需要随时增加或缩小。 2.列表的创建: (1)基本语法[]创建
(2)list()创建:可将任何可迭代的数据转化成列表
(3)range()创建整数列表 语法格式:range([staart,] end [,step]) start参数:可选,表示起始数字,默认为0;end参数:必选,表示结尾数字;step参数:可选,表示步长,默认为1。 (4)推导式生成列表
3.列表元素的增加 (1)append()方法: 原地修改列表对象,是真正的列表尾部添加新的元素。 (2)+运算符操作: 并不是真正的尾部添加元素,而是创建新的列表对象;将原列表的元素依次复制到新的列表对象中。即创建了新的列表对象。
(3)extend方法: 将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。
(4)insert()插入元素 可以将指定元素插入到列表对象的任意制定位置。类似发生这种移动的函数还有:remove()、pop()、del(),他们在删除非尾部元素时也会发生操作位置后面元素的移动。
(5)乘法扩展 生成一个新列表,新列表元素是原列表元素的多次重复。 4.列表元素的删除 (1)del删除 删除列表指定位置的元素
(2)pop()方法 删除并返回指定位置元素,如果未指定位置则默认操作列表最后一个元素。
(3)remove()方法 删除首次出现的指定元素,若不存在该元素抛出异常。
5.列表元素访问和计数 (1)通过索引直接访问元素 索引的区间在[0,列表长度-1],超过这个范围则抛出异常 (2)index()获得指定元素在列表中首次出现的索引 语法:index(value,[start,[end]]),start和end指定了搜索的范围。
(3)count()获得指定元素在列表中出现的次数 (4)len()返回列表长度,即列表中包含元素的个数 6.成员资格判断 判断列表中是否存在指定的元素,可以使用count()方法,返回0则表示不存在,返回大于0则表示存在。但是一般会添加更加简洁的in关键字来判断,直接返回True or False。 7.切片slice操作 可以快速提取子列表或修改,标准格式为:[起始偏移量 start:终止偏移量 end[:步长 step]] 当步长省略时顺便可以省略第二个冒号,省略end时两个冒号都不省略。 (包头不包尾) ? 列表的遍历:
8.列表排序 (1)修改原列表,不建新列表的排序
(2)建新列表的排序 可以通过内置函数sorted()进行排序,这个方法返回新列表,不对原列表做修改。
(3)reversed()返回迭代器 内置函数reversed()也支持进行逆序排列,与列表对象reverse()方法不同的是,内置函数reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象,可以通过list将迭代器转换为列表,只能使用一次,第一次输出了元素,第二次为空,因为迭代对象在第一次时已经遍历结束了,第二次不能再使用。 (4)列表相关的其他内置函数汇总 max和min:用于返回列表中最大和最小值; sum:对数值型列表的所有元素进行求和操作,对非数值型列表运算则会报错。 9.多维列表(列表套列表) 二维列表(可以存表格信息)
二、元组(不可变序列,不能修改元组中的元素,没有增加元素、修改元素、删除元素相关的方法) 1.元组的创建 (1)通过()创建元组,小括号可省略 如果元组中只有一个元素,则必须后面加逗号,这是因为解释器会把(1)解释为整数1,(1,)解释为元组。 (2)通过tuple()创建元组 tuple(可迭代对象) tuple():创建一个空元组对象
tuple()可以接收列表、字符串、其他序列类型、迭代器等生成元组;list()可以接收元组、字符串、其他序列类型、迭代器等生成列表。 用del就可以把元组删除 2.元组的元素访问和计数 (1)元组的元素不能修改 (2)元组的元素访问和列表一样,只不过返回的仍然是元组对象。 用切片也可以 (3)列表关于排序的方法list.sorted()是修改原列表对象,元组没有该方法。如果要对元组排序,只能使用内置函数sorted(tupleObj),并生成新的列表对象。
3.zip zip(列表1,列表2,...)将多个列表对应位置的元素组合成为元组,并返回这个zip对象。 4.生成器推导式创建元组 生成器推导式生成的不是列表也不是元组,而是一个生成器对象。可以通过生成器对象,转化成列表或元组,也可以使用生成器对象的__next__()方法进行遍历(依次取元素),或者直接作为迭代器对象来使用。在元素访问结束后,如果需要重新访问其中的元素,必须重新创建该生成器对象。 元组的访问和处理速度比列表快;与整数和字符串一样,元组可以作为字典的键,列表则永远不能作为字典的键使用(因为元组、整数和字符串都是不能变的)。 三、字典 ? 重复出现的键会把前面的覆盖。 1.字典的创建 (1)通过{} 、dict()来创建字典对象
(2)通过zip()来创建字典对象
(3)通过fromkeys来创建值为空的字典
2.字典元素的访问 (1)通过[键]获得"值",若键不存在,则抛出异常。
(2)通过get()方法获得"值" 推荐使用。优点:指定键不存在,返回None;也可以设定指定键不存在时默认返回的对象。
(3)列出所有的键值对
(4)列出所有的键(a.keys()),列出所有的值(a.values()) (5)len()键值对的个数 (6)检测一个“键”是否在字典中(用in) 3.字典元素添加、修改、删除 (1)给字典新增“键值对",如果”键“已存在,则覆盖旧的键值对;如果”键“不存在,则新增”键值对”。
(2)使用updata()将新字典中所有键值对全部添加到旧字典对象上,如果key有重复,则直接覆盖。
(3)字典中元素的删除,可以使用del()方法,或者clear()删除所有的键值对,或者pop()删除指定键值对 ,并返回对应的“值对象”
(4)popitem():随即删除和返回该键值对。 若想一个接一个地移除并处理项,这个方法非常有效(因为不用首先获取键的列表) 4.序列解包 可用于元组、列表、字典。可方便地对多个变量赋值。
序列解包用于字典时,默认是对”键“进行操作;如果需要对键值进行操作,则需要使用item();如果需要对”值“进行操作,则需要使用values()
四、集合 无序可变,元素不能重复。实际上,集合底层是字典实现,集合的所有元素都是字典中的"键对象",因此是不能重复的且唯一的。集合是不能容纳重复的元素的。 1.集合的创建和删除 (1)使用{}创建集合对象,并使用add()方法添加元素 (2)使用set(),将列表、元组等可迭代对象转成集合。如果原来数据存在重复数据,则只保留一个。
(3)remove()删除指定元素;clear()清空整个集合 2.集合相关操作 并集:a|b? 或? a.union(b) 交集:a&b? 或? a.intersection(b) 差集:a-b? 或? a.difference(b) |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 12:14:27- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |