Python学习日志(四)
- 列表
列表名 = [元素1,元素2,…]
列表和C中的数组有些相似,但列表的功能更加强大,数组的元素要求是同种类型,但列表可以是混合类型。
跟数组一样,通过元素的索引值,我们可以从列表获取单个数据。

这里介绍上面代码用到的几个函数:
- append():用于添加列表元素,但是一次只能添加一个。
- extend():拓展函数,需要注意的是,由于使用列表拓展列表,所以这个函数的参数是一个列表。
- insert():这个函数可以指定在哪个位置插入什么元素,参数1是位置(从0开始),参数2是元素。
- 删除元素

这里介绍一下上面用到的几个函数:
- remove():移除某一个元素,参数是该元素
- del:del可以删除整个列表,也可以按下表索引删除某个元素
- pop():由于python列表是把元素存放在堆栈里的,因此可以利用出栈pop把元素取出来,没有参数默认取出最后一个元素,下标作为参数可以取出相应元素。
- 列表分片

分片得到的是列表部分内容的拷贝,原列表不会改变。
- 列表常用操作符
- 比较操作符

- 逻辑操作符

- 连接操作符
注意:用+进行连接操作时,两边数据必须是同种类型。
- 重复操作符

- 成员关系操作符

如图,python列表中的列表元素不能直接访问,其访问方式和C语言中的二维数组相似。
- 列表函数

用dir(list)可以查看list相关函数,这里简单介绍几个:
- count():参数是一个元素,返回该元素在列表中的个数。
- index():参数也是一个元素,返回该元素在列表中的位置,也可以分段查找,参数依次为元素、查找起始位置,结束位置。
- reverse():将列表中的元素从头到尾翻转。
- sort():默认为将列表元素升序排列,函数原型为sort(func,key,reverse=False),前两个参数一般为默认值可以不管,降序排列用sort(reverse=False)。
- 补充
前面我们讲了列表分片,我们可以这样copy一个列表:新列表 = 旧列表[:],也可以这样:新列表 = 旧列表。
这两种方式有区别,前者是真正的把列表的内容copy了放到另外一个地方,后者是取走了旧列表的位置,和指针很相似。
因此,当旧列表改变时,前者创建的列表不会发生改变,而后者创建的列表会随旧列表的改变而改变,只有前者能实现备份。感受一下下面这个具体的实例:

- append()和extend()的区别

append是向列表添加一个元素,如果append的参数是一个列表,那么这个列表整个作为新元素。
extend是以列表的形式拓展列表,其参数本身就是个列表,相当于两个列表合并。
- 练习
- 有列表 name = ['F', 'i', 'h', 'C'],如果小甲鱼想要在元素 'i' 和 'h' 之间插入元素 's',应该使用什么方法来插入?

- 打印列表
换一种格式打印,用至少两种方法:

- 再看看列表赋值:
假设[1,2,3,4,5]是在内存开辟出来的空间1,[6]是在内存开辟出来的空间2。
开始的时候old指向空间1,让new=old也就是让new也指向空间1,后来old指向空间2,并没有改变new指向的空间1,所以new还是[1,2,3,4,5]。
如果后来没有让old指向空间2,而是改变空间1,那么new也会随之改变。如下:
- 请问如何将下边这个列表的'小甲鱼'修改为'小鱿鱼'?
list1 = [1, [1, 2, ['小甲鱼']], 3, 5, 8, 13, 18]
Python学习日志(四)的更多相关文章
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- python学习第四次笔记
python学习第四次记录 列表list 列表可以存储不同数据类型,而且可以存储大量数据,python的限制是 536870912 个元素,64位python的限制是 1152921504606846 ...
- Python学习(四)数据结构(概要)
Python 数据结构 本章介绍 Python 主要的 built-type(内建数据类型),包括如下: Numeric types int float Text Sequence ...
- python学习-第四天补充-面向对象
python学习-第四天补充-面向对象 python 私有 --name mangling(名字修改.名字) 在命名时,通过使用两个下划线作为开头,可以使得这个变量或者函数编程私有的,但是这个其实的p ...
- python学习第四十八天json模块与pickle模块差异
在开发过程中,字符串和python数据类型进行转换,下面比较python学习第四十八天json模块与pickle模块差异. json 的优点和缺点 优点 跨语言,体积小 缺点 只能支持 int st ...
- Python学习日志9月14日
今天早晨又没有专心致志的学习,我感觉我可能是累了,需要减轻学习的程度来调整一下咯.这几天装电脑弄的昏天暗地的,身体有点吃不消了.时间真是神奇的魔法,这半个月来,每隔几天都有想要改变策略的想法.今天早晨 ...
- Python学习日志9月13日
昨天的学习日志没有写,乱忙了一整天,政治电脑. 好奇心重,想要给电脑装上传说中LInux操作系统,各种小问题折腾到半夜,今天又折腾到晚上才真正的装上系统. 可是装上系统后又发现各种的不好用.虽然界面比 ...
- Python 学习日志9月19日
9月19日 周二 今天是普通的一天,昨天也是普通的一天,刚才我差点忘记写日志,突然想起来有个事情没做,回来写. 今天早晨学习<Head First HTML and CSS>第十一章节“布 ...
- Python学习日志_2017/09/08
今天早晨学习了<Head First :HTML and CSS>:学习了两个章节,感觉从基础学习特别的踏实,能看懂的同时踏踏实实的锻炼了基础的能力.我个人认为无论哪个行业,最重要的永远是 ...
随机推荐
- 【UWP】解析GB2312、GBK编码网页乱码问题
在WebHttpRequest请求网页后,获取到的中文是乱码,类似这样: <title>˹ŵ��Ϸ���������� - ��̳������ - ˹ŵ��Ϸ����</title ...
- ASP.Net 打通服务器代码和前台界面的特殊符号
1.<% %>用来绑定后台代码 如: < % ;i<;i++) { Reaponse.Write(i.ToString()); } %> 2.<%# %> 是 ...
- android 弹出AlertDialog的学习案例
我在编写的时候,测试的关键代码: AlertDialog.Builder builder=new AlertDialog.Builder(MainPointListActivity.this); bu ...
- Func
Func<List<int>, string> getStr = (list) => { var returnStr = ""; if (list.A ...
- angular.extend用法实例
angular.extend:依次将第二个参数及后续的参数的第一层属性(不管是简单属性还是对象)拷贝赋给第一个参数的第一层属性,即如果是对象,则是引用的是同一个对象,并返回第一个参数对象. 实例一 ...
- MarkdownPad2.5 注册码
邮箱: Soar360@live.com 授权秘钥: GBPduHjWfJU1mZqcPM3BikjYKF6xKhlKIys3i1MU2eJHqWGImDHzWdD6xhMNLGVpbP2M5SN6b ...
- C# 调用webservice 几种办法(转载)
原文地址: http://www.cnblogs.com/eagle1986/archive/2012/09/03/2669699.html //=========================== ...
- 微信的audio无法自动播放的问题
一.问题 最近做了一个html5的项目,里面涉及到音乐播放,项目要求音乐进入页面就自动播放,于是我就想到了html5的audio标签,将mp3引入进去. 1.在audio标签里引入了autoplay属 ...
- iOS 局部变量 全局变量 成员变量
一.成员变量 : 写在类声明的大括号中的变量叫成员变量 (也叫属性/实例变量) 成员变量不可离开类 离开了类就不是成员变量 成员变量不能再定义的同事初始化 成员量只能通过对象来访问 成员变量存储在堆中 ...
- PHP新手常见的一些不好习惯(抄的 有待理解)
1.不写注释(是个好习惯,不过也没必要每个语句都要写) 2.不使用可以提高生产效率的IDE工具 3.不使用版本控制 4.不按照编程规范写代码 5.不使用统一的方法 6.编码前不去思考和计划 7.在执行 ...