最近的教学进度进入了第二章,这一章主要讲述了Python中常用的序列结构:列表元组字典字符串集合等。通过这些序列的学习在今后可以有效实现一些复杂的数据结构和模拟基本操作。那么接下来就给出我个人整理的本章的部分知识要点和结构框架,虽然不算全面但却有足够的概括性。
2.1 列表
首先,我们需要了解列表的含义:它是Python里的一个可变序列,是包含了若干元素的有序连续内存空间。它的形式是将元素放在“[ ]"中,元素之间用逗号隔开。
值得一提的是,在Python中,同一个列表中元素的类型可以不同。如:

[10,20,30,40]√
['apple',2.0,1,[10,20]]√#这里不单单是体现了类型不同,还体现了列表具有多维性,此处为二维列表

2.1.1 列表创建与删除
列表的创建方式有很多种,但是我们日常生活中最常用的方式有以下几种:
1、使用赋值运算符“=”直接将一个列表赋值给变量即可创建对象,如:

>>>a_list=[1,2,3]
>>>a_list=[]#通过直接赋空来创建空列表

2、使用list()函数
该函数的目的在于把其他类型的可迭代对象类型的数据转化为列表,如

>>>list(range(1,10,2))
[1,3,5,7,9]#得到的结果
>>>list('hello world')
['h','e','l','l','o',' ','w','o','r','l','d']#得到的结果
>>>x=list()#创建空列表

3、列表推导式(待学,后面补充)
/
PS:当列表不再使用的时候,我们一般用del命令删除列表。
2.1.2 列表元素的增加
众所周知,列表是一种可变序列,那必然是有一种操作可以改变列表的内容–没错,列表元素的增加删除。列表的创建和删除有多种方法,同理,对列表元素的操作方法也不唯一。
1、可以使用**+**运算符来实现

>>>alist=[3,4,5]
>>>alist=alist+[7]
>>>alist[3,4,5,7]#得到的结果

2、使用**append()**方法(速度快,推荐使用)

>>>alist=[3,4,5]
>>>alist.append(9)
>>>alist[3,4,5,7,9]#得到的结果

3、使用extend()方法
这种方法可以将另一个迭代对象的所有元素添加至原列表尾部。

>>>a_list=[5,2,3]
>>>a_list.extend([7,8,9])
>>>a_list=[5,2,3,7,8,9]#得到的结果

4、使用**insert()**方法将元素添加至列表的指定位置

>>>alist=[3,4,5,7,8]
>>>alist.insert(3,6)#在列表的第三个和第四个元素之间插入值6
>>>alist
[3,4,5,6,7,8]#得到的结果

5、使用乘法来扩展列表对象
将列表与整数相乘,生成一个新列表,新列表是原列表中元素的重复

>>>alist=[3,5,7]
>>>alist*3
[3,5,7,3,5,7,3,5,7]#得到的结果

PS:当使用“*”时,并不创建元素值的复制,而是创建已有元素的引用。所以当修改其中一个值时,相应的引用也会被修改
2.1.3~2.1.5由于课程进度原因,待补充(学习提炼后)
2.1.6 切片操作
切片的引入极大的方便了我们的许多操作,例如截取列表中的任意部分,也可以使用切片来修改和删除列表中的部分元素,甚至可以通过切片操作为列表对象增加元素,可谓是综合性很高了。灵活的使用切片这个工具可以给我们的编程过程带来无限的方便性。
切片适用于列表、元组、字符串、range对象等类型。
切片的形式:[start:stop:step]
其中第一个数字表示开始位置(默认为0),第二个数字表示不包含这个数的切片截止位置(默认为列表长度),第三个数字表示步长(默认为1),省略步长的时候一般也省略最后冒号。
接下来看一个切片的实际应用:


>>>alist=[3,4,5,6,7,9,11,13,15,17]
>>>alist[::]#全部为默认值,即未发生变化
[3,4,5,6,7,9,11,13,15,17]#得到的结果
>>>alist[::-1]#步长为负数的话,要从右往左切
[17,15,13,11,9,7,6,5,4,3]#得到的结果
>>>alist[::2]
[3,5,7,11,15]#得到的结果
>>alist[3::]
[6,7,9,11,13,15,17]#得到的结果
>>>alist[3:6]
[6,7,9]#得到的结果
>>>alist[3:6:1]
[6,7,9]#得到的结果
>>>alist[100:]
[]#得到的结果,因为初始值不存在,所以返回一个空列表

还可以使用del命令和切片操作来删除部分元素:

>>>alist=[3,5,7,9,11]
>>>del alist[:3]#删除第四个元素以前的部分
>>>alist
[9,11]#得到的结果
>>>alist=[3,5,7,9,11]
>>>del alist[::2]#从第一个元素开始每次间隔两个步长删除元素
>>>alist
[5,9]#得到的结果

PS:切片返回浅复制(指生成一个新的列表,并把原列表中所有元素的引用都复制到新列表中。)
到目前主要的内容已至此,当后期学习了更多关于列表元素的细节与操作后,我会将中间部分进行整理,并纵观整个第二章的知识点进行总结和反思。我相信,不积跬步无以至千里,在不断的思考与提升后,一定会实现将Python这门语言运用自如的愿望。谢谢浏览!

Python第二章课后总结相关推荐

  1. 04737 c++ 自学考试2019版 第二章课后程序设计题 3

    /* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 3 * 需求:设计并实现一个类MyLine */ //标准流 #include<iostream> //科 ...

  2. 04737 c++ 自学考试2019版 第二章课后程序设计题 2

    /* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 2 * 需求:设计并实现二维坐标系下点的类Point.... */ //标准流 #include<iostrea ...

  3. 04737 c++程序设计 第二章 课后程序设计题 第一题

    /* * 04737 c++ 自学考试2019版 第二章课后练习 * 程序设计题 1 * 需求:设计并实现一个类Course.它代表学校中的一门课程..... *///标准流 #include< ...

  4. 李航《统计学习方法》第二章课后答案链接

    李航<统计学习方法>第二章课后答案链接 李航 统计学习方法 第二章 课后 习题 答案 http://blog.csdn.net/cracker180/article/details/787 ...

  5. R语言基础题及答案(二)——R语言与统计分析第二章课后习题(汤银才)

    R语言与统计分析第二章课后习题(汤银才) 题-1 用函数rep( )构造一个向量x, 它由3个3, 4个2, 5个1构成. x<-rep(c(3,2,1),times=c(3,4,5));pri ...

  6. 寒江独钓 第二章 课后习题

    第二章 课后习题 (1)内核编程环境和用户应用程序编程环境有哪些不同? 编程模式可分为两种:用户模式和内核模式. 其中用户应用程序的编程采用的是用户模式,这里都是在操作系统的隔离环境中完成的,也就是说 ...

  7. 【C Primer Plus第二章课后编程题】

    [C Primer Plus第二章课后编程题] 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.1 #include <stdio.h> int main (void) ...

  8. 《计算机网络技术》第二章课后习题答案(全)

    <计算机网络技术>第二章课后习题答案(全) 1.消息和信息的各自概念是什么?两者之间有何关系? 答: 消息:人类能感知的描述. 信息:消息中所包含的有意义的内容. 关系:消息是信息的载体. ...

  9. HTML网页作业第二章课后作业,泵与泵站-第二章-课后作业.ppt

    泵与泵站-第二章-课后作业 作业: 1.如图2-104所示的泵装置.泵从一个密闭水箱抽水,输入另一个密闭水箱,水箱内的水面与泵轴平齐,试问: (1)该泵装置的静杨程HST=?(m)22 (2)泵的吸水 ...

最新文章

  1. 华为手机媒体音量自动静音_华为手机的音量键还可以这么用,涨见识!
  2. element ui 中el-input搜索输入框或者普通输入框无法输入的问题讨论
  3. 《系统集成项目管理工程师》必背100个知识点-50质量控制的活动
  4. 个人常用word技巧----平时编辑word能快不少~
  5. mysql 查看端口_新手连接MySQL数据库,再也不怕连不上了
  6. 博士毕业论文悲情致谢引女友回应:学术是一场超越金钱的修行
  7. SQL Server-【知识与实战V】视图
  8. linux7dhcpd服务命令,CentOS7系统架设DHCP服务
  9. vs2017远程编译linux教程,Visual Studio 2017 远程编译调试 Linux 上已存在的通过 Samba 共享的 CMake 工程...
  10. android获取手机状态栏高度,Android 获取屏幕高度,宽度,状态栏高度
  11. python基金筛选_【量化投资工具】抓取沪深股市所有指数关联的公募基金列表(含ETF、增强、分级等)...
  12. 2020年个人年终总结
  13. 【编译原理】 根据语法树 写出对应的短语 直接短语 句柄 构造产生式
  14. 【BBF系列协议】TR104 VoIP CPE的配置参数
  15. 在我附近的网吧的代理服务器iptables脚本
  16. 最新版表情包小程序源码无需服务器
  17. 【进村记】电子产品实体店的几大骗术分析
  18. 无论是狗粮还是降落伞,反正WeLink来了……
  19. 诺思格医药通过注册:年营收6亿 实控人武杰为美国籍
  20. 纯 CSS 的多级菜单

热门文章

  1. 开放的应用编程接口Parlay API
  2. 《FFmpeg Basics》中文版-03-比特率/帧率/文件大小
  3. 中国APM市场份额第一!博睿数据实力领跑
  4. Zotero 使用介绍
  5. 广告牌定时器怎么设置时间_定时器怎么设置时间?定时器的使用注意事项?
  6. host 配置不生效的解决办法
  7. 线性代数1-向量和向量空间
  8. Flutter基础入门
  9. Python从网络接口爬取json天气预报数据绘制高温低温双折线图
  10. 团队作业第二周刘先润个人篇