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 = ...
随机推荐
- How I explained OOD to my wife
Introduction My wife Farhana wants to resume her career as a software developer (she started her car ...
- pt-archiver(数据导入导出工具)
数据导入导出工具pt-archiver 工具可以将MySQL的表数据导出到一个新表或者一个文件,也有自己的应用场景,比如数据归档,删除数据,数据合并等. 具体用法: pt-archiver [OPTI ...
- JavaWeb笔记——MVC设计模式和JavaWeb经典三层架
1 MVC设计模式 MVC设计模式 MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(C ...
- C++中虚继承的作用及底层实现原理
http://blog.csdn.net/bxw1992/article/details/77726390
- json转换为tree对象(递归)
const newTeam = function (data, parentId) { 2 let itemArr = []; 3 for (let i = 0; i < data.length ...
- “三八节”如何做好EDM邮件营销
阳春三月,乍暖还寒,万物复苏,一年一度的三八节也马上来临了,各路商家都开足马力,掀起了一股美丽的旋风.如今酒香也怕巷子深,要想取得良好的营销效果,就得早早动手,赚足眼球,才会换来节日当天的丰厚回馈.U ...
- 通过ajax获取一个多位数,当容器显示在屏幕可视区时,让数字以滚动的形式显示
{ "data": "268" } json数据 <!DOCTYPE html> <html> <head lang=&quo ...
- 使用commons-fileupload-1.2.1.jar等组件实现文件上传
使用的主要jar包:commons-io-1.3.2.jar包;commons-fileupload-1.2.1.jar包:commons-lang-2.3.jar,在使用组件实现文件上传时候要注意前 ...
- poj1322 Chocolate 【 概率DP 】
题目链接:poj1322 Chocolate [概率DP ] 题意:袋中有C种颜色巧克力,每次从其中拿出一块放桌上,如果桌上有两块相同颜色巧克力则吃掉,问取出N块巧克力后,求桌上正好剩下M块巧克力的概 ...
- getResource和getResourceAsStream
1. 前言 在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异. 2.Class.getResource(St ...