Python开发【第七篇】列表
问题:当我们要用一系列数字的时候,我们需要将数字进行存储,我们就需要找个容器把数字装起来,我们需要用的时候再拿出来。如何将计算机运算的数据存储在一个地方,同时方便 对数据进行 增、删、改、查
列表
列表是一种容器
列表是可以被改变的序列容器
列表是一个可迭代对象
创建列表是为了存储数据
创建空列表语法: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开发【第七篇】列表的更多相关文章
- Python开发【第一篇】:目录
本系列博文包含 Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习编程的童鞋提供一点帮助!!! Python开发[第一篇]:目录 Python开发[第二篇]:初识Python ...
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- Python开发【第一篇】:目录
本系列博文包含Python基础.前端开发.Web框架.缓存以及队列等,希望可以给正在学习Python编程的朋友们提供一点帮助! .Python开发[第一篇]:目录 .Python开发[第二篇]:初始P ...
- 七丶人生苦短,我用python【第七篇】
模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个 ...
- Python开发【第一篇】基础题目二
1 列表题 l1 = [11, 22, 33] l2 = [22, 33, 44] # a. 获取l1 中有,l2中没有的元素 for i in l1: if i not in l2: # b. 获取 ...
- Python开发【第一篇】:初识Python
初识python 一.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- 【python自动化第七篇:面向对象进阶】
知识点概览: 静态方法,类方法,属性方法 类的特殊方法 反射 异常处理 socket开发基础 一.静态方法:@staticmethod 只是名义上归类管理,实际上在静态方法里访问不了类或者实例中的任何 ...
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...
- 跟着老男孩教育学Python开发【第一篇】:初识Python
Python简介 Python前世今生 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
随机推荐
- java架构之路-(设计模式)五种创建型模式之单例模式
设计模式自身一直不是很了解,但其实我们时刻都在使用这些设计模式的,java有23种设计模式和6大原则. 设计模式是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可 ...
- python正则表达式字符记录
代码 功能 . 匹配任意1个字符(除了\n) [] 匹配[]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字, 即不是数字 \s 匹配空白,即空格,tab键 \S 匹配非空白 \w ...
- Mac 安装python 3.*新版本的详细步骤
Mac 系统自带python,不过自带的python版本都是2.*版本.虽然不影响老版本项目的运行, 但是python最新的3.*版本的一些语法与2.*版本并不相同,我们不论是学习还是使用,当然用最新 ...
- 使用System.Text.Json处理Json文档以及部分坑
System.Text.Json处理Json文档需要用到JsonDocument,JsonElement,JsonProperty. JsonDocument就是一个表示Json文档的东西,JsonE ...
- tomcat 报错出现 jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
这是你导入的jar的问题 一般情况下是导入的包tomcat已经存在 也就是说 不需要你再次导入 所以你现在要做的是删除你所导的包 解决方案:删除你的web项目导入的这两个jar文件 jsp-api.j ...
- 导出wordpress数据库Fatal error: Cannot 'break' 2 levels
今天我打算备份一下我在Linux下用宝塔面板搭建的phpmyadmin导出wordpress数据库.选择数据库后给我一个Fatal error: Cannot 'break' 2 levels in ...
- wait()与notify()
一,前言 简单画了一下线程的流程图,只是一个大概.如图所示,线程有多种状态,那么不同状态之间是如何切换的,下面主要总结关于wait()和notify()的使用. 二,wait() wait ...
- CF #579 (Div. 3) C.Common Divisors
C.Common Divisors time limit per test2 seconds memory limit per test256 megabytes inputstandard inpu ...
- adb之wm学习笔记
为什么学习adb的wm指定 自动化测试平台获取手机的屏幕分辨率 adb -s iphoneCode shell wm usage: wm [subcommand] [options] wm size ...
- shiro使用注解(@RequiresPermissions等)不无效及异常处理
1.注解不生效 在shiro配置类中加上如下代码: /** * Shiro生命周期处理器 */ @Bean(name = "lifecycleBeanPostProcessor") ...