Python入门之基础知识(三)
文章目录
- 前言
- 一、序列是什么?
- 二、列表的概念
- 三、列表的创建
- 1.基本语法[]创建
- 2.list()创建
- 3.range()创建
- 4.推导式创建
- 四、列表元素的增加或删除
- 1.通过Append()方法增加列表元素
- 2.通过+运算符增加列表元素
- 3.通过extend()方法增加列表元素
- 4.通过Insert()方法增加列表元素
- 5.乘法拓展增加列表元素
- 6.利用del删除列表元素
- 7.利用pop()方法删除列表元素
- 8.利用remove()方法删除列表元素
- 五、列表元素的访问和计数
- 六、列表的切片操作
- 七、列表的排序
- 1.修改原列表
- 2.建立新列表
- 3.通过reversed()返回逆序排列
- 4.其他方法
- 八、多维列表
- 拓展学习——元祖
- 1.元祖的创建与删除
- 2.元祖的访问、计数和排序
前言
笔者刚开始学习Python。本文主要记录学习,如有错漏和不足之处,请大家指正❀。本篇主要讲述序列中的列表,同时简单介绍元祖。
一、序列是什么?
序列是一种数据存储方式,用来存储一系类的数据。
序列结构:字符串、列表、元祖、字典、集合。
二、列表的概念
列表:任意对象(任意元素、任意类型)的序列,如[10,20,30]
列表对象常用方法的要点:增加元素、删除元素、访问元素、计数、列表长度、翻转列表、排序、浅拷贝等。
需要注意的还是,列表的大小可变,根据需要可以随时增加或缩小。
三、列表的创建
1.基本语法[]创建
a = [“linshen”,20,30]
a = [] #创建一个空的列表对象
2.list()创建
a = list()#创建一个空的列表对象
list()可以用来将任何可迭代的数据转化成列表,以a = list(“linshen”)
为例,可以得到
In [1]: a = list("linshen")In [2]: a
Out[2]: ['l', 'i', 'n', 's', 'h', 'e', 'n']
3.range()创建
标准格式为:
range([start,]end[,step])
其中,end必选,start可选,默认为0,step可选,默认为1。整数序列可以用range()和list()变成列表
4.推导式创建
推导式创建可以通过循环创建多个元素,如下所示:
In [13]: d =[x*2 for x in range(10)]In [14]: d
Out[14]: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
有时候,也可以通过if过滤元素。
四、列表元素的增加或删除
对内存进行修改,出于列表操作效率的考虑,一般只在列表尾部添加元素或删除元素。在这里介绍几种增加或删除列表元素的方法。
1.通过Append()方法增加列表元素
在尾部添加新的元素,速度最快
a = [5,2]
a.append(0)
得到a = [5,2,0]
2.通过+运算符增加列表元素
创建新的列表对象
a = [5,2]
a = a+[0]
得到a = [5,2,0]
3.通过extend()方法增加列表元素
将目标列表的所有元素添加到本列表的尾部,属于原地操作,不创建新的列表对象。此时,列表对象的id没有变化。
In [1]: a = [5,2]In [2]: id(a)
Out[2]: 2556694327880In [3]: a.extend([0])In [4]: a
Out[4]: [5, 2, 0]In [5]: id(a)
Out[5]: 2556694327880
4.通过Insert()方法增加列表元素
用于将指定元素插入到列表对象的指定位置。
(当要处理的元素较多时,尽量避免使用)
a = [5,2,0]
a.insert(2,100)#在第二个位置插入数值100
得到a=[5,2,100,0]
5.乘法拓展增加列表元素
列表的乘法拓展和字符串的乘法原理相同。生成一个新列表,进而实现原列表元素的多次重复。
6.利用del删除列表元素
a = [5,2,0]
del a[2]
得到a=[5,2]
7.利用pop()方法删除列表元素
pop()可以删除并返回指定位置元素。
如果此时未指定位置,则默认操作列表最后一个元素。
a = [10.20,30,40,50]
b=a.pop()
得到b=50
,a=[10,20,30,40]
8.利用remove()方法删除列表元素
可以利用remove()删除首次出现的指定元素。
当不存在该元素时,则会显示异常。
五、列表元素的访问和计数
这一部分的内容比较简单,具体而言,可以有下述方法:
1. 通过索引直接访问元素,索引的区间在[0,列表长度-1]
2. Index()获得指定元素在列表中首次出现的索引,语法是index(value,[start,[end]])。其中,start和end确定了搜索的范围。
3. count()获得指定元素在列表中出现的次数
4. len()返回列表的长度#即包含元素的个数
5. 成员资格判断,用in操作符可以简洁判断,偶尔也可以使用count()
六、列表的切片操作
(* ̄︶ ̄)切片slice操作可以快速提取子列表或修改。
其标准格式为:
[起始偏移量start:种植偏移量end[:步长step]]。
注意:当步长省略时可以省略第二个冒号,列表的切片操作和字符串的切片基本一致。
为方便计算,选择如下实例计算:
>>> a =[10,20,30,40,50,60,70]
>>> a[1:3:1]
[20, 30]
七、列表的排序
在此,主要介绍列表排序的4种方法:
1.修改原列表
内容 | 排列 |
---|---|
a.sort() | 默认是升序排列 |
a.sort(reverse=True) | 降序排列 |
random.shuffle(a) | 打乱顺序 |
2.建立新列表
可以通过内置函数sorted()进行排序,这一方法并不修改原列表
>>> c = [5,2,0]
>>> id(c)
1758750284808
>>> c = sorted(c)#默认升序排列,如需降序排列可以参考上述reverse=True
>>> c
[0, 2, 5]
3.通过reversed()返回逆序排列
可以通过切片操作返回逆序,具体如下:
>>> q = reversed(c)
>>> q
<list_reverseiterator object at 0x000001997DAFEC08>
>>> list(q)
[5, 2, 0]
>>> list(q)
[]#迭代器只能迭代一次
4.其他方法
除了上述方法,涉及列表排序还有Max()、Min()、Sum()等等,在这里就不加以赘述用法了。
八、多维列表
类型 | 数据 |
---|---|
一维列表 | 线性数据 [1,2,3,4,5] |
二维列表 | 二维、表格的数据 |
为了方便理解,我们可以将多维列表视作列表套列表。对于二维数组,可以通过a[]
或a[][]
索引。
拓展学习——元祖
元祖属于不可变序列,元祖的访问和处理速度比列表快。元祖可以作为字典的键,列表不能作为字典的键使用。
1.元祖的创建与删除
- 通过()创建元祖。
小括号可以省略;当只有一个数时应加“,”,不然其type会被认定为数值(整型或浮点数型)。 - 通过tuple()创建元祖。
其中,可以利用tuple()将字符串、列表、其他序列类型、迭代器等生成元祖,和list()异曲同工。 - 生成器推导式创建元祖。
和列表推导式相似,生成器推导式生成的不是列表也不是元祖,而是一个生成器对象。下面是生成器推导式创建元祖的一个实例:
>>> s = (x*3 for x in range(9))
>>> s
<generator object <genexpr> at 0x000001997DA79CC8>
>>> tuple(s)
(0, 3, 6, 9, 12, 15, 18, 21, 24)
>>> tuple(s)
()
- del可以删除元祖(方法与列表相似)。
2.元祖的访问、计数和排序
元祖的访问、计数和排序方法与列表基本相同。
需要注意的是,列表排序中list.sorted()
可以修改原列表对象,而元祖不行。元祖只能使用sorted(tupleOjb)
,在此情况下会生成新的列表对象,而非元祖。
Python入门之基础知识(三)相关推荐
- 初识 Python 必看基础知识~ 熬夜爆肝
本文主要梳理一些 Python 入门的基础知识,分享给每一位走在IT路上的侠客~ 全文知识梳理来源于<Python编程 从入门到实践(第2版)> 声明:未打广告,豆瓣评分9.3,刷博客时见 ...
- python基础一入门必备知识-Python数据分析入门必备基础知识
今天,老师要带大家解数据分析的定义.核心思路.应用领域以及开发流程,向大家全方位展示数据分析入门必备基础知识,全都是干货哦!虽然看完本文,不能让大家立马变身为一名数据分析师,但是能让大家对数据分析有一 ...
- 学python需要什么基础知识-没学过Python先要学习哪些基础知识?
零基础学Python应该学习哪些入门知识 关于零基础怎么样能快速学好Python的问题,百度提问和解答的都很多,你可以百度下看看.我觉得从个人自学的角度出发,应从以下几个方面来理解: 1 为什么选择学 ...
- python基础知识资料-学习Python列表的基础知识汇总
千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...
- Python入门——语言基础
Python入门--语言基础 文章目录 Python入门--语言基础 一.标准输入和输出 二.变量和常量 三.运算符 四.选择结构 六.注释 七.逻辑行 一.标准输入和输出 1.标准输入(注意:inp ...
- python二级公共基础知识
python二级公共基础知识 一.算法和数据结构 算法及其基本特征: 算法是对解题方法的准确而完整的描述. 算法的四个基本特征:可行性,确定性,有穷性,拥有足够的情报. 算法的复杂度: 算法的时间复 ...
- GPS 入门 1 —— 基础知识[转]
GPS 入门 1 -- 基础知识 [转] (2008-10-11 18:14:57) <script> var $tag='gps,杂谈'; var $tag_code='b7179ced ...
- Python复习笔记——基础知识
Python复习笔记-基础知识 文章目录 Python复习笔记-基础知识 Python变量 基于值的内存管理方式 赋值语句的执行过程 Python定义变量名的规范 运算符和表达式 加+ 乘* 除/ % ...
- 炒股入门初学者基础知识讲解,如何掌握新手炒股入门基础知识
对一些刚入股市的新手来讲,要学习的股票术语和一些图标实在是太多了,很多的新手在炒股的时候不知道炒股的技巧是什么,毕竟万事开头难,所以大家要多了解一些基础的知识.下面为大家介绍下QR技术分析社区中关于炒 ...
最新文章
- 【AI思辨】八年之痒!除了NLP和CV,人工智能就不能干点别的啥了?
- LED亮度与电流之间的关系?
- mysql-explain
- HDU- 2973 YAPTCHA(威尔逊定理)
- 前端开发中如何将文件夹中的图片变为背景图_Web中的图像技术全面总结,长文干货!...
- 二度云抢先成为首批中国工信部(.vip/.xyz/.club)域名注册管理机构
- linux lnmp1.5.tar.gz,Linux 下lnmp
- 中国电信完成雷神山1672部固话装机任务
- 情爱宝典:识破男女间的“放电”信号
- go -生成pb文件 - 上
- 实战HTML:模拟简书首页静态实现
- DWF是个什么格式,要怎么进行相应的格式转换?
- 西餐餐饮文化、简单鸡尾酒调制~~DIY的力量无穷
- Mind Elixir思维导图使用方法
- 搜图出处的软件_以图搜图搜gif图片出处来源的懒人小工具
- 3.2【微信小程序全栈开发课程】登录功能(一)--实现登录功能
- mac电脑有很多._开头的文件
- 年终礼品交换潮iPhone、iPad最抢手
- Android 拍照:如何使用已有相机应用捕获图片(Taking Photos Simply
- AI行业精选日报_人工智能(12·16)