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实现 洛谷 P1015 回文数(N进制回文数)
输入输出样例 输入样例#1: 10 87 输出样例#1: STEP=4 import java.util.Scanner; public class 回文数2 { public static void ...
- Java 实现 蓝桥杯 等额本金
标题:等额本金 小明从银行贷款3万元.约定分24个月,以等额本金方式还款. 这种还款方式就是把贷款额度等分到24个月.每个月除了要还固定的本金外,还要还贷款余额在一个月 中产生的利息. 假设月利率是: ...
- Java实现第八届蓝桥杯取数位
取数位 求1个整数的第k位数字有很多种方法. 以下的方法就是一种. 还有一个答案:f(x/10,k--) public class Main { static int len(int x){ // 返 ...
- mybatis源码解析-日志适配器
1.为什么需要使用适配器? 集成第三方日志组件,屏蔽日志组件底层实现,统一提供写日志的接口. 2.什么是适配器模式 定义:将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法 ...
- kebernets常用命令-整理
1.deployment相关命令 查看所有deployment: kubectl get deployments 查看指定命名空间的所有deployment: kubectl get deployme ...
- ubuntu12.04可用源
最近试了不少源,都无法用.这一份是目前可以正常使用的 #deb cdrom:[Ubuntu 12.04.5 LTS _Precise Pangolin_ - Release amd64 (201408 ...
- Laravel中Homestead添加多站点时遇到问题
Homestead做Laravel的开发还是很方便的,但是在添加多站点的时候,发现几个坑,来做个记录. 首先,官方文档给了修改homestead.yaml文件的方式,只需要在sites字节下添加一个新 ...
- Yii2.0ActiveRecord嵌套子查询(AR子查询)
yii2.0的ActiveRecord是可以嵌套子查询的. 比如从一个子查询里面筛选数据. 首先实例化出来一个Query对象,代表子查询. $subQuery = new \yii\db\Query( ...
- python中的类型
python中的类型分为四种 1.整形 2.浮点型 3.字符串 4.对象(除了前三种,其他的都是对象) 比如函数也是对象 def fun(): print(123) type(fun) // < ...
- DML_Data Modification_MERGE
DML_8-Data Modification_MERGE (将Source表合并到Target) 语法:MERGE INTO 目标表USING 源表WHEN MATCHED AND ...