基本数据类型:列表

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天 列表和元组的更多相关文章

  1. Python学习笔记(二)——列表

    Python学习笔记(二)--列表 Python中的列表可以存放任何数据类型 >>> list1 = ['Hello','this','is','GUN',123,['I','Lov ...

  2. python 基础学习笔记(3)--列表与元组

    **本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...

  3. python学习笔记-(四)列表&元组

    1.列表及元组操作 1.1 列表 Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 定义列表: >>> namelist = ...

  4. Python学习笔记(五)—列表的学习

    总结内容: 1.list的定义 2.list的取值 3.list数据的增加 4.list数据的删除 5.list数据的修改 6.list数据的查询 7.list方法的介绍 8.list的合并 9.多维 ...

  5. Python学习笔记(3)--数据结构之列表list

    Python的数据结构有三种:列表.元组和字典 列表(list) 定义:list是处理一组有序项目的数据结构,是可变的数据结构. 初始化:[], [1, 3, 7], ['a', 'c'], [1, ...

  6. Python基础教程学习笔记:第二章 列表和元组

    1.序列中元素的索引: 第一个元素索引是0,第二个是1,依次递增 最后一个元素索引是-1,倒数第二个是-2,依次递减 2.序列(Sequence)的种类: 列表(list).元组(tuple).字符串 ...

  7. Python入门笔记——(2)列表和元组

    一.序列 python包含6种内建的序列:列表.元组.字符串.Unicode字符串.buffer对象和xrange对象.序列中每个元素被分配一个序号即索引,第一个索引为0,第二个为1,以此类推.也可以 ...

  8. Python学习笔记(迭代,列表解析,生成器)

    迭代(iterable):支持每次返回自己所包含一个对象的 iter()得到迭代器,.next()遍历列表. 列表解析:根据已有列表高效生成列表的方式. 生成器(Generator): 通过列表生成式 ...

  9. Python学习笔记(4)列表

    2019-02-26 列表(list):①创建方法:用‘[ ]’,将数据包括起来,数据之间用逗号隔开.②空列表:empty = []③增删改查: 1)增加: a.append()方法——将元素添加到列 ...

  10. python 学习笔记(一):在列表、字典、集合中根据条件筛选数据

    一.在列表中筛选数据 在列表中筛选出大于等于零的数据,一般通用的用法代码如下: data = [3, -9, 0, 1, -6, 3, -2, 8, -6] #要筛选的原始数据列表 result = ...

随机推荐

  1. ss.c

    linux下 ss -i 可显示rto. how to display tcp rto http://linuxaleph.blogspot.com/2013/07/how-to-display-tc ...

  2. 加密算法IV的作用

    使用随机数产生的初始化向量才能达到语义安全(散列函数与消息验证码也有相同要求),并让攻击者难以对同一把密钥的密文进行破解 初始化向量的值依密码算法而不同.最基本的要求是“唯一性”,也就是说同一把密钥不 ...

  3. Asp ose.Tota l for .NET 2015

    How to license Aspose.Total for .NET products Add "License.cs" [C#] OR "License.vb&qu ...

  4. UIScrollView中的手势

    UIScrollView中的手势 UIScrollView自带了两个手势,分别为: UIPanGestureRecognizer UIPinchGestureRecognizer 他们都是readon ...

  5. 微软操作系统 Windows Server 2012 R2 官方原版镜像

    微软操作系统 Windows Server 2012 R2 官方原版镜像 Windows Server 2012 R2 是由微软公司(Microsoft)设计开发的新一代的服务器专属操作系统,其核心版 ...

  6. python全栈学习笔记(三)网络基础之网络设备及架构介绍

       

  7. LVM逻辑卷的管理和使用

    本篇将从头到尾演示一遍逻辑卷的管理. 主要步骤 1.创建lv逻辑卷步骤     前提:先创建3个磁盘分区,类型为8e:         1.PV创建             pvcrete /dev/ ...

  8. 【深入理解JAVA虚拟机】第5部分.高效并发.2.线程安全和锁优化

    1 概述 对于这部分的主题“高效并发”来讲,首先需要保证并发的正确性,然后在此基础上实现高效. 2 线程安全 <Java Concurrency In Practice> 的作者Brian ...

  9. 2019.1.6 2.8 Spring的AOP事务

    2.8 Spring的AOP事务 xml配置aop事务 先applicationContext.xml 文件 配置事务管管理器 配置通知 织入目标对象

  10. List环形双向链表

    实现一个环形的双向链表,链表的每个节点都保存三个信息,当前节点的值value,前一个节点的指针prev,后一个节点的指针next.因为是环形的,所以最后一个节点的next指向第一个节点,而第一个节点的 ...