python学习笔记:第4天 列表和元组
基本数据类型:列表
1. 列表的介绍
列表也是python的基础的数据类型之一,类似于Java中的数组一样,可以存放很多元素。列表是用括号括起来的一组数据,每个元素之间用‘,’来分割,其中元素可以是python支持的各种数据类型,创建列表的方法如下:
In [32]: l1 = [13, 56, 'python', True] # 列表里面可以存放各种不同的数据类型(如数字、字符串等等)
In [33]: l2 = [-1, ['abc', 11.2]] # 列表中还可以嵌套列表
In [34]: l3 = list() # 创建一个空列表
2. 列表的索引和切片
列表也可以和字符串一样使用索引和切片,具体使用的方法如下:
In [35]: l1[-1] # 列表的使用索引获取元素
Out[35]: True
In [36]: l1[1:] # 跟字符串一样,列表也可以使用切片
Out[36]: [56, 'python', True]
In [38]: l1[2][2:]
Out[38]: 'thon'
3. 列表的操作
增加元素:增加列表元素的方法有3种
- append: 把元素添加到列表末尾
- insert:接收一个索引位置的参数,把元素插入到指定索引位置的前面,后面的元素往索引都加1
- extend: 往列表里面添加多个元素,其参数必须是一个可迭代对象
In [39]: l3.append('a')
In [40]: l3.append(15) # 把元素15添加到列表l3末尾
In [41]: l3
Out[41]: ['a', 15]
In [42]: l3.insert(1, '篮球') # 在l3列表索引为1的位置插入元素'篮球'
In [43]: l3
Out[43]: ['a', '篮球', 15]
In [44]: l3.extend(l2) # 把列表l2中的元素添加到l3中
In [45]: l3
Out[45]: ['a', '篮球', 15, -1, ['abc', 11.2]]
删除元素:删除元素也有3中方法操作
- pop: 默认删除列表中最后一个元素,并返回删除的元素,如果指定索引则删除索引位置的元素
- remove: 移除指定的元素
- clear: 清空列表
In [46]: l4 = [111, 1, 23, 45, 1, -3434, 43624356, 234, 45]
In [47]: l4.pop() # 默认删除列表中最后一个元素
Out[47]: 45
In [48]: l4.pop(1) # 也可以删除指定索引位置的元素
Out[48]: 1
In [49]: l4.remove(1) # 删除指定的元素
In [50]: l4
Out[50]: [111, 23, 45, -3434, 43624356, 234]
In [51]: l4.clear() # 清空列表
In [52]: l4
Out[52]: []
- 修改元素
In [54]: l3
Out[54]: ['a', '篮球', 15, -1, ['abc', 11.2]]
In [55]: l3[2] = '学校' # 找到元素并对重新赋值(修改)
In [56]: l3
Out[56]: ['a', '篮球', '学校', -1, ['abc', 11.2]]
In [57]: l3[2:] = ['老师', '学生', '校园'] # 也可以切片修改
In [59]: l3
Out[59]: ['a', '篮球', '老师', '学生', '校园']
查找元素:
- index: 使用index查找元素的索引位置
- 使用for循环遍历列表查找
In [62]: l3
Out[62]: ['a', '篮球', '老师', '学生', '校园']
In [63]: l3.index('篮球')
Out[63]: 1
In [64]: for i in range(len(l3)):
...: if l3[i] == '篮球':
...: print(i, l3[i])
1 篮球
其他方法:列表还有其他的集中方法
- count: 统计某个元素出现列表的个数
- sort: 对列表做排序
- reverse: 对列表反转排序
In [65]: l4 = [45, 43624356, -3434, 1, 45, 23, 1, 111, 45, 56, 90]
In [66]: l4.count(45) # 计算45在列表l4中出现的次数
Out[66]: 3
In [67]: l4.sort() # 把列表按从小到大的顺序排列
In [68]: l4
Out[68]: [-3434, 1, 1, 23, 45, 45, 45, 56, 90, 111, 43624356]
In [69]: l4.reverse() # 把列表按原来的顺序倒叙排列(**没有排序的功能**)
In [70]: l4
Out[70]: [43624356, 111, 90, 56, 45, 45, 45, 23, 1, 1, -3434]
基本数据类型:元组
元组跟列表非常类似,它也可以存储多个元素,也可以存放不同的数据类型的元素,但是元组最大的特征就是:元组中的元素是不可修改的,因此元组只有查询的方法,下面是元组的使用:
In [71]: t1 = ('redhat', 'centos', 'fedora', 'ubuntu') # 创建一个元组,如果是空元祖要使用`t = (,)`来创建
In [72]: t1
Out[72]: ('redhat', 'centos', 'fedora', 'ubuntu')
In [73]: t1[1] # 跟列表和字符串一样,也支持索引和切片
Out[73]: 'centos'
In [74]: for ele in t1: # 循环遍历元组中的元素
...: print(ele)
redhat
centos
fedora
ubuntu
In [75]:
补充知识
1. range的使用
如果只是使用for循环遍历元素虽然可以取到每个元素的值,但是却没有元素的索引,如果结合range使用就会方便的多:
In [83]: t1
Out[83]: ('redhat', 'centos', 'fedora', 'ubuntu')
In [84]: for index in range(len(t1)): # 通过range来创建列表和元组的索引,可以同时获取索引和元素
...: print(index, t1[index])
0 redhat
1 centos
2 fedora
3 ubuntu
In [86]: for i in range(2, 10, 2): # range也可以设置起始和结束位置,和step步长的设置,能满足各种需求
...: print(i)
2
4
6
8
In [87]:
2. 列表推导式
列表推导式为从序列中创建列表提供了一个简单的方法。如果没有列表推导式,一般都是这样创建列表的:通过将一些操作应用于序列的每个成员并通过返回的元素创建或添加到列表,或者通过满足特定条件的元素创建子序列,如下,我们创建一个的序列:
In [77]: l5 = []
In [78]: for ele in range(10):
...: l5.append(ele ** 2) # 通过循环,把得到的结果追加到列表末
In [79]: l5
Out[79]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
但是如果使用列表推导式创建,就会简单的多:
In [81]: l6 = [x **2 for x in range(10) ]
In [82]: l6
Out[82]: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
python学习笔记:第4天 列表和元组的更多相关文章
- Python学习笔记(二)——列表
Python学习笔记(二)--列表 Python中的列表可以存放任何数据类型 >>> list1 = ['Hello','this','is','GUN',123,['I','Lov ...
- python 基础学习笔记(3)--列表与元组
**本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...
- python学习笔记-(四)列表&元组
1.列表及元组操作 1.1 列表 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 定义列表: >>> namelist = ...
- Python学习笔记(五)—列表的学习
总结内容: 1.list的定义 2.list的取值 3.list数据的增加 4.list数据的删除 5.list数据的修改 6.list数据的查询 7.list方法的介绍 8.list的合并 9.多维 ...
- Python学习笔记(3)--数据结构之列表list
Python的数据结构有三种:列表.元组和字典 列表(list) 定义:list是处理一组有序项目的数据结构,是可变的数据结构. 初始化:[], [1, 3, 7], ['a', 'c'], [1, ...
- Python基础教程学习笔记:第二章 列表和元组
1.序列中元素的索引: 第一个元素索引是0,第二个是1,依次递增 最后一个元素索引是-1,倒数第二个是-2,依次递减 2.序列(Sequence)的种类: 列表(list).元组(tuple).字符串 ...
- Python入门笔记——(2)列表和元组
一.序列 python包含6种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列中每个元素被分配一个序号即索引,第一个索引为0,第二个为1,以此类推.也可以 ...
- Python学习笔记(迭代,列表解析,生成器)
迭代(iterable):支持每次返回自己所包含一个对象的 iter()得到迭代器,.next()遍历列表. 列表解析:根据已有列表高效生成列表的方式. 生成器(Generator): 通过列表生成式 ...
- Python学习笔记(4)列表
2019-02-26 列表(list):①创建方法:用‘[ ]’,将数据包括起来,数据之间用逗号隔开.②空列表:empty = []③增删改查: 1)增加: a.append()方法——将元素添加到列 ...
- python 学习笔记(一):在列表、字典、集合中根据条件筛选数据
一.在列表中筛选数据 在列表中筛选出大于等于零的数据,一般通用的用法代码如下: data = [3, -9, 0, 1, -6, 3, -2, 8, -6] #要筛选的原始数据列表 result = ...
随机推荐
- 解决因 RsFX devicer 而无法卸载 SQL Server 的问题
到卸载 SQL Server 2008 R2 安装程序支持文件时,遇到了问题:“警告 26003.无法卸载 Microsoft SQL Server 2008 R2 安装程序支持文件,因为安装了以下产 ...
- Http status(二)
http含义: http 200:-文件被正常的访问 http 302:临时重定向 HTTP错误列表 HTTP 400 - 请求无效 HTTP 401.1 - 未授权:登录失败 HTTP 401.2 ...
- centos msyql 5.7 yum安装
1.wget https://repo.mysql.com//mysql57-community-release-el6-11.noarch.rpm 2.yum localinstall mysql5 ...
- Mac os下profile设置
Mac os环境下home目录下是没有profile文件的开启终端后,读取的是/etc/profile文件因为个人喜欢使用ll命令,mac默认并没有这个命令,所以使用如下方法设置别名 cp -rp / ...
- Zabbix3.4服务器的搭建--CentOS7
本教程是目前最简单的Zabbix搭建教程.因为不是编译方式,直接用官方的分发包(rpm)安装. 1.前期准备 安装CentOS 7.4系统后.开启网络功能,其他东西均可不装.切记一定不要配置环境.还有 ...
- 可用的rtmp卫视直播地址
http://blog.csdn.net/chinabinlang/article/details/45092297[ 可用的rtmp卫视直播地址] http://blog.csdn.net/chin ...
- 通过ajax获取一个多位数,当容器显示在屏幕可视区时,让数字以滚动的形式显示
{ "data": "268" } json数据 <!DOCTYPE html> <html> <head lang=&quo ...
- DataTables.Queryable Sample
1.DataTables.Queryable的例子项目使用了SQL Server CE数据库,花了几分钟时间转为使用LocalDB. 完整Web.config文件如下: <?xml versio ...
- vue+elementUI封装的时间插件(有起始时间不能大于结束时间的验证)
vue+elementUI封装的时间插件(有起始时间不能大于结束时间的验证): html: <el-form-item label="活动时间" required> & ...
- Mac python3.5 + Selenium 开发环境配置
一. python 3.5 1. 下载 2. Mac默认为2.7,所以这里主要介绍如何将系统Python默认修改为3.5. 原理: 1)Mac自带的python环境在: python2.7: /Sys ...