问题:当我们要用一系列数字的时候,我们需要将数字进行存储,我们就需要找个容器把数字装起来,我们需要用的时候再拿出来。如何将计算机运算的数据存储在一个地方,同时方便 对数据进行 增、删、改、查

列表

列表是一种容器

列表是可以被改变的序列容器

列表是一个可迭代对象

创建列表是为了存储数据

创建空列表语法:L = []

创建非空列表语法:L = [1,2,3]

L = [1,2,3,4]
L1 = [1,2,'liuwei']
L2 = ['北京','上海','广州','深圳']

列表可以存储任意数据类型的数据

列表的构造(创建)函数

list()  #创建一个空的列表,等同于[]
list(iterable) #创建一个可迭代对象的列表,list(range(10))

列表的运算

​ 算数运算符 + += * *=

例子:

x = [1,2,3]
y = [4,5,6]
z = x + y
print(z)
[1,2,3,4,5,6]
x+=y
[1,2,3,4,5,6]

列表的比较运算符

比较运算符 说明
< 运算符左右两侧列表内元素进行比较
<= 运算符左右两侧列表内元素进行比较
== 运算符左右两侧列表内元素进行比较
> 运算符左右两侧列表内元素进行比较
>= 运算符左右两侧列表内元素进行比较
!= 运算符左右两侧列表内元素进行比较
in 判断某个元素在不在列表中
not in 判断某个元素是否不再列表中

列表的索引操作

索引取值的语法: x = 列表[整数表达式]

索引取值和切片取值跟字符串的取值的规则一样

列表的索引赋值

列表是可变的序列,可以通过索引赋值改变列表中的元素

语法:列表[整数表达式] = [表达式]

x = [1,2,3,4,5]
x[2] = 1+6
print(x)
[1,2,7,4]
x[1] = 5
print(x)
[1,5,7,4]

列表的切片操作

切片取值

语法:列表[起始索引:终止索引:步长]

列表的切片取值是从原列表中取出想要的元素,再次组成一个新的列表,这就说明原列表不变,只是复制了原列表中的内容

例子:

L = [1,2,3,4,5]
Y = [1:5:2]
[2,4]

切片赋值

语法:列表[切片] = 可迭代对象

作用:可以改变愿列表的排列,可以插入和修改数据

说明:切片赋值的赋值运算符(=)的右侧必须是可迭代对象

例子:

L = [1,2,3,4,5]
L[0:1] = [1.1,2.2]
[1.1,2.2,3,4,5]

注:用切片可以实现列表的全部修改操作

对于步长不等于1的切片赋值,赋值运算符的右侧的可迭代对象提供的元素个数,一定要等于切片切除的段数

python3中常用于序列的函数

len(x) 返回序列的长度
max(x) 返回序列的最大值
min(x) 返回序列的最小值
sum(x) 返回序列中所有元素的和(元素必须为数字类型)
any(x) 真值测试,如果列表中的一个值为真值则返回True
all(x) 真值测试,如果列表中的所有值为真值则返回True

Python3中常用的列表方法(method)

  • 见:help(list)
方法 意义
L.index(v [, begin[, end]]) 返回对应元素的索引下标, begin为开始索引,end为结束索引,当 value 不存在时触发ValueError错误
L.insert(index, obj) 将某个元素插放到列表中指定的位置
L.count(x) 返回列表中元素的个数
L.remove(x) 从列表中删除第一次出现在列表中的值
L.copy() 复制此列表(只复制一层,不会复制深层对象)
L.append(x) 向列表中追加单个元素
L.extend(lst) 向列表追加另一个列表
L.clear() 清空列表,等同于 L[:] = []
L.sort(reverse=False) 将列表中的元素进行排序,默认顺序按值的小到大的顺序排列
L.reverse() 列表的反转,用来改变原列表的先后顺序
L.pop([index]) 删除索引对应的元素,如果不加索引,默认删除最后元素,同时返回删除元素的引用关系

Python开发【第七篇】列表的更多相关文章

  1. Python开发【第一篇】:目录

    本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python ...

  2. Python开发【第二篇】:初识Python

    Python开发[第二篇]:初识Python   Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...

  3. Python开发【第一篇】:目录

    本系列博文包含Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习Python编程的朋友们提供一点帮助! .Python开发[第一篇]:目录 .Python开发[第二篇]:初始P ...

  4. 七丶人生苦短,我用python【第七篇】

    模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个 ...

  5. Python开发【第一篇】基础题目二

    1 列表题 l1 = [11, 22, 33] l2 = [22, 33, 44] # a. 获取l1 中有,l2中没有的元素 for i in l1: if i not in l2: # b. 获取 ...

  6. Python开发【第一篇】:初识Python

    初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  7. 【python自动化第七篇:面向对象进阶】

    知识点概览: 静态方法,类方法,属性方法 类的特殊方法 反射 异常处理 socket开发基础 一.静态方法:@staticmethod 只是名义上归类管理,实际上在静态方法里访问不了类或者实例中的任何 ...

  8. 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

    运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...

  9. 跟着老男孩教育学Python开发【第一篇】:初识Python

    Python简介 Python前世今生 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  10. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

随机推荐

  1. ubuntu16.4 环境移植ubuntu到zynqMp_zcu102

    安装petalinux 下载petalinux https://www.xilinx.com/support/download 下载 zcu102 ZCU102 BSP 安装petaLinux 把sh ...

  2. Django跳转到不同的页面的方法和实例–使用Django建立你的第一个网站

    1 前记 这次记录的这些东西,主要是自己在搭建个人网站的时候遇到的一些问题记录,不算严格意义上的教程和使用说明.按照目前自己的web水平,去写这方面的教程无疑是误人子弟.因为自己虽然做程序员很多年,但 ...

  3. Linux环境下进行分布式压测踩过的坑

    背景:公司为了满足大并发的情况,需要测试组配合,就需要分布式压测,这里我把我踩过坑都记录下来: 环境:Linux + jmeter-v.5.1.1;使用3台2核4G的压力机: Q1: Server f ...

  4. Day 2 Bash shell 认识

    1.拍摄虚拟机的快照 2. 什么是Bash shell? 命令解释器,将用户输入的命令,翻译给内核程序,将用户输入的指令翻译给内核 程序,内核处理完成之后将结果返回给bash. 如何打开一个bash窗 ...

  5. 【Sentinel】sentinel 集成 apollo 最佳实践

    [Sentinel]sentinel 集成 apollo 最佳实践 前言   在 sentinel 的控制台设置的规则信息默认都是存在内存当中的.所以无论你是重启了 sentinel 的客户端还是 s ...

  6. 写论文与PPT汇报时matlab图片的背景透明处理

    不少同学在使用Word写论文时,将matlab生成的图保存为jpg格式,然后粘贴到文档中.word背景为纯白色,jpg图的缺点没有显示,实际上会存在很大白边,以及放大后不清晰的问题,很影响PPT展示和 ...

  7. (七十四)c#Winform自定义控件-金字塔图表

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  8. el-table合并行并自定义某一列或几列

    在el-table的官方组件中并没有看到具体的合并行或者列及自定义表格内容,于是就自己写了一个效果如下所示. 这种对左侧内容要求比较高,要求行合并,并要自定义一些内容.下面说一下具体方法及代码写法. ...

  9. 2019windows上安装Mac OS 10.14过程详细截图

    之前VMware12里面的Mac OS10.10升级后,键盘鼠标就用不了了.试了几次都这样,只能重装VMware14, 安装Mac OS 10.14系统.把步骤截下图,分享一下. 一.材料准备 1.虚 ...

  10. 如何编写出高质量的 equals 和 hashcode 方法?

    什么是 equals 和 hashcode 方法? 这要从 Object 类开始说起,我们知道 Object 类是 Java 的超类,每个类都直接或者间接的继承了 Object 类,在 Object ...