第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 列表的更多相关文章

  1. python3笔记目录大纲汇总

    篇一.python3基础知识和语句 python3笔记一:python基础知识 python3笔记二:进制转换与原码反码补码 python3笔记三:运算符与表达式 python3笔记四:if语句 py ...

  2. wxPython制作跑monkey工具(python3)-带显示设备列表界面

    一. wxPython制作跑monkey工具(python3)-带显示设备列表界面  源代码 Run Monkey.py #!/usr/bin/env python import wx import ...

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

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

  4. Flutter学习笔记(12)--列表组件

    如需转载,请注明出处:Flutter学习笔记(12)--列表组件 在日常的产品项目需求中,经常会有列表展示类的需求,在Android中常用的做法是收集数据源,然后创建列表适配器Adapter,将数据源 ...

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

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

  6. Python3学习笔记14-迭代与列表生成式

    迭代 如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration) 在Python中,迭代是通过for...in来完成的. d = ...

  7. python3笔记十一:python数据类型-List列表

    一:学习内容 列表概念 列表创建:创建空列表.创建带有元素的列表 列表访问:取值 列表修改:替换元素.追加元素.追加列表.插入元素 列表删除:移除列表中指定下标处的元素.移除匹配条件的第一个元素.移除 ...

  8. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  9. 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 ...

随机推荐

  1. Java实现 LeetCode 310 最小高度树

    310. 最小高度树 对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树.给出这样的一个图,写出一个函数找到所有的最小高度树 ...

  2. excel表 更改后缀名 xlsx转成csv csv转换xlsx

    excel 转成CSV 步骤: 1.打开你需要转换的Excel表格.这里特别介绍一下多个数字的现象,我们知道,像身份证这些多位数字,在正常表格里都是会加上一个'来使其显示的,或者换成"文本& ...

  3. Java实现LeetCode_0020_ValidParentheses

    package javaLeetCode.primary; import java.util.Scanner; import java.util.Stack; public class ValidPa ...

  4. Java实现选择排序和冒泡排序

    1 问题描述 给定一个可排序的n元素序列(例如,数字.字符和字符串),将它们按照非降序方式重新排列. 2 解决方案 2.1 选择排序原理简介 选择排序开始的时候,我们从第一个元素开始扫描整个列表,找到 ...

  5. set基本运用

    /* set集合基本用法 */ #include<iostream> #include<set> using namespace std; //set<T>a; v ...

  6. 04-Python基础3

    本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 孩子,我现在有个需 ...

  7. xlwings--Python for Excel

    xlwings 中文文档 xlwings,让excel飞起来! xlwings 的使用教程

  8. 【代理】内网穿透工具 frp&frps

    frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发. ### frp 的作 ...

  9. Windows服务监控工具Perfmon

    原文:https://www.jianshu.com/p/f82c2b726ecf 一.Perfmon简介.性能监控指标.性能对象指标 Perfmon:提供了图表化的系统性能实时监视器.性能日志和警报 ...

  10. java中HashMap原理?

    参考:https://www.cnblogs.com/yuanblog/p/4441017.html(推荐) https://blog.csdn.net/a745233700/article/deta ...