Python3笔记017 - 4.2 列表
第4章 序列的应用
python的数据类型分为:空类型、布尔类型、数字类型、字节类型、字符串类型、元组类型、列表类型、字典类型、集合类型
在python中序列是一块用于存放多个值的连续内存空间。
python内置了5种序列分别是元组、列表、字典、集合、字符串。
本章将介绍元组、列表、字典、集合四种序列类型,字符串将在第5章介绍
4.2 列表
列表的所有元素都放在一对中括号"[]"中,两个相邻元素间使用逗号","分隔,在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中,并且元素的类型可以不同,因为它们之间没有任何关系。
列表是可变序列
4.2.1 列表的创建和删除
1、直接使用[]创建列表
listname = [element1, element2, ...elementn]
参数说明
listname表示列表名称
element表示列表元素,个数没限制
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1)
output:['Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
2、创建空列表
emptylist = []
3、通过list()创建数值列表
list(data)
参数说明
list是一个函数
data表示可以转换为列表的数据
list(range(10,20,2)) # 创建一个10~20之间(不包括20)所有偶数的列表
# 拓展:生成逆序序列
list(range(10,-1,-1)) # [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
4、删除列表
对于已经创建的列表,不再使用时,可以用del语句将其删除。前提是列表已存在。在python中,del并不常用,因为python自带垃圾回收机制,会自动销毁不用的列表。
del listname
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1)
del list1
print(list1)
output:
['Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
NameError: name 'list1' is not defined
4.2.2 访问列表元素
1、通过索引访问
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1[0])
print(list1[1])
output:
Monday
Tuesday
4.2.3 遍历列表
1、使用for循环实现
for item in listname:
# 输出item
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
for i in list1:
print(i)
output:
Monday
Tuesday
wednesday
Thursday
Friday
Saturday
Sunday
2、使用for循环和enumerate()函数实现
for index, item in enumerate(listname):
# 输出index和item
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
for index, item in enumerate(listname):
print(index,item)
output:
0 Monday
1 Tuesday
2 wednesday
3 Thursday
4 Friday
5 Saturday
6 Sunday
4.2.4 添加、修改、删除列表元素
1、添加元素
listname.append(obj)
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
list1.append("Sunday")
print(list1)
output:
['Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday', 'Sunday']
2、修改元素
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sundayy"]
list1[-1] = "Sunday"
print(list1)
output:
['Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
3、删除元素
# 根据值来删除元素
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
list1.remove("Sunday")
print(list1)
output:
['Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday']
# 根据索引来删除元素
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
del list1[-1]
print(list1)
output:
['Monday', 'Tuesday', 'wednesday', 'Thursday', 'Friday', 'Saturday']
4.2.5 对列表进行统计和计算
1、获取指定元素出现的次数
listname.count(obj)
list1 = ["Monday","Monday","Monday","Thursday","Friday","Saturday","Sunday"]
print(list1.count("Monday"))
output:
3
2、获取指定元素首次出现的下标
listname.index(obj)
list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1.index("Monday"))
print(list1.index("Sunday"))
output:
0
6
3、统计数值列表的元素和
sum(iterable[,start])
list1 = list(range(1,10,1))
print(sum(list1))
output:
45
4.2.6 对列表进行排序
1、使用列表对象的sort()方法
改变原序列的顺序
listname.sort(key=None, reverse=False)
list1 = [4, 6, 2, 9]
list1.sort()
print(list1)
output:
[2, 4, 6, 9]
2、使用内置的sorted()函数实现
不会改变原序列的顺序
sorted(iterable,key=None,reverse=False)
list1 = [4, 6, 2, 9]
print(sorted(list1))
output:
[2, 4, 6, 9]
a = [1, 4, 2, 3, 1]
print(sorted(a, reverse=True))
a = [{'name': 'xiaoming', 'age': 18, 'gender': 'male'}, {'name': 'xiaohong', 'age': 20, 'gender': 'female'}]
print(sorted(a, key=lambda x: x['age'], reverse=False))
output:
[4, 3, 2, 1, 1]
[{'name': 'xiaoming', 'age': 18, 'gender': 'male'}, {'name': 'xiaohong', 'age': 20, 'gender': 'female'}]
3、列表反转
def reverse(lst):
return lst[::-1]
r = reverse([1, -2, 3, 4, 1, 2])
print(r) # [2, 1, 4, 3, -2, 1]
4.2.7 列表推导式
list = [Expression for var in range]
参数说明
list表示生成的列表名称
Expression表达式,用于计算新列表的元素
var循环变量
range采用这个函数生成的range对象
敬请关注个人微信公众号:测试工匠麻辣烫

Python3笔记017 - 4.2 列表的更多相关文章
- python3笔记目录大纲汇总
篇一.python3基础知识和语句 python3笔记一:python基础知识 python3笔记二:进制转换与原码反码补码 python3笔记三:运算符与表达式 python3笔记四:if语句 py ...
- wxPython制作跑monkey工具(python3)-带显示设备列表界面
一. wxPython制作跑monkey工具(python3)-带显示设备列表界面 源代码 Run Monkey.py #!/usr/bin/env python import wx import ...
- python 基础学习笔记(3)--列表与元组
**本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...
- Flutter学习笔记(12)--列表组件
如需转载,请注明出处:Flutter学习笔记(12)--列表组件 在日常的产品项目需求中,经常会有列表展示类的需求,在Android中常用的做法是收集数据源,然后创建列表适配器Adapter,将数据源 ...
- Python学习笔记(二)——列表
Python学习笔记(二)--列表 Python中的列表可以存放任何数据类型 >>> list1 = ['Hello','this','is','GUN',123,['I','Lov ...
- Python3学习笔记14-迭代与列表生成式
迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration) 在Python中,迭代是通过for...in来完成的. d = ...
- python3笔记十一:python数据类型-List列表
一:学习内容 列表概念 列表创建:创建空列表.创建带有元素的列表 列表访问:取值 列表修改:替换元素.追加元素.追加列表.插入元素 列表删除:移除列表中指定下标处的元素.移除匹配条件的第一个元素.移除 ...
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- python3笔记-列表
列表去重的两种方式: # 创建列表放数据 a =[1,2,1,4,2] b=[1,3,4,3,1,3] d=[] for i in a: if i not in d: d.append(i) prin ...
随机推荐
- Java实现蓝桥杯方格计数
标题:方格计数 如图p1.png所示,在二维平面上有无数个1x1的小方格. 我们以某个小方格的一个顶点为圆心画一个半径为 50000 的圆. 你能计算出这个圆里有多少个完整的小方格吗? 注意:需要提交 ...
- Java实现 蓝桥杯VIP 算法提高 最小乘积(提高型)
算法提高 最小乘积(提高型) 时间限制:1.0s 内存限制:512.0MB 问题描述 给两组数,各n个. 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小.要求程序输出这个最 ...
- Java实现 LeetCode 149 直线上最多的点数
149. 直线上最多的点数 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上. 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | ...
- Java实现第十届蓝桥杯不同子串
试题 C: 不同子串 本题总分:10 分 [问题描述] 一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串.例如,字符串aaab 有非空子串a, b, aa, ab, aaa, ...
- Spring MVC详细讲解
一:三层架构和MVC 1:三层架构 我们的开发架构一般都是基于两种形式:一种是 C/S 架构,也就是客户端/服务器,另一种是 B/S 架构,也就是浏览器服务器.在 JavaEE 开发中,几乎全都是基于 ...
- 温故知新-Mysql索引结构&页&聚集索引&非聚集索
文章目录 摘要 索引 索引概述 索引优势劣势 索引结构 BTREE 结构 B+TREE 结构 页 索引分类 索引语法 索引设计原则 聚触索引 & 非聚触索引 你的鼓励也是我创作的动力 Post ...
- iOS -实现imageView中的button响应点击事件的方法
<pre name="code" class="cpp" style="font-size: 13px;">/** imagev ...
- OAuth + Security - 6 - 自定义授权模式
我们知道OAuth2的官方提供了四种令牌的获取,简化模式,授权码模式,密码模式,客户端模式.其中密码模式中仅仅支持我们通过用户名和密码的方式获取令牌,那么我们如何去实现一个我们自己的令牌获取的模式呢? ...
- RocketMQ系列(三)消息的生产与消费
前面的章节,我们已经把RocketMQ的环境搭建起来了,是一个两主两从的异步集群.接下来,我们就看看怎么去使用RocketMQ,在使用之前,先要在NameServer中创建Topic,我们知道Rock ...
- CollectionView的cell长按事件实现
原生cell没有长按事件,我们需要使用手势识别来绑定CollectionView.创建并绑定CollectionView如下: (void)viewDidLoad { [super viewDidLo ...