一、列表简介(list)
3.1、列表是什么
- 列表是由一系列按特定顺序排列的元素组成。
- 在Python中,用方括号“ [ ] ”来表示列表,并用逗号来分隔其中的元素。
- example = ['a', 'b', 'c']
- 列表是有序集合。
3.1.1 访问列表元素
- 要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。
-
example[0]
3.1.2 索引从0开始而不是1开始
- Python访问最后一个列表元素,通过将索引指定为-1。(用在不知道列表长度的情况下访问最后的元素)
3.1.3 使用列表中的各个值
3.2、修改、添加和删除元素
3.2.1 修改列表元素
- 要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。
- example[0] = 'hello'
3.2.2 在列表中添加元素
- 方法append()将元素添加到列表末尾,而不影响列表中的其他所有元素。
- 方法insert(index, value)可在列表的任何位置添加新元素,需要指定新元素的索引和值。
3.2.3 从列表中删除元素
- 使用del语句删除元素, del example[0]
- 方法pop()可删除列表末尾的元素,并能够继续使用它。
- 使用pop(index)来删除列表中任何位置的元素,只需要在括号中指定要删除的元素的索引即可。
- 方法remove('value')删除不知道索引的元素的值。
3.3、组织列表
3.3.1 使用方法sort()对列表进行永久性排序
方法sort()永久性地修改了列表元素的排列顺序。
方法sort(reverse=True)按字母顺序相反的顺序排列列表元素。
3.3.2 使用函数sorted()对列表进行临时排序
函数sorted()按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
如果要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。
3.3.3 倒着打印列表
要永久反转列表元素的排列顺序,可使用方法reverse()。
3.3.4 确定列表的长度
使用函数len()可快速获悉列表的长度。
3.3.5 最大值,最小值
min和max分别返回序列中最小和最大的元素
3.4、函数list
可将任何序列(而不仅仅是字符串)作为list的参数。
3.5、给切片赋值
使用切片赋值可在不替换原有元素的情况下插入新元素。
numers = [1,5] numbers[1:1] = [2,3,4] print(numbers)
3.6、列表方法
1. append()
2. clear()
方法clear()就地清空列表的内容。
lst = [1,2,3]
lst.clear()
lst >>> [ ]
3.copy()
方法copy()复制列表。
4. count()
方法count()计算指定的元素在列表中出现多少次。
slt = [1,2,3,4,2,3,4,2,1,2]
slt.count(2)
5.extend()
方法extend()能够将多个值附加到列表末尾,即可使用一个列表来扩展另一个列表。
a = [1,2,3] b = [2,3,4,4] a.extend(b) print(a)
6. index()
方法index()在列表中查找指定值第一次出现的索引。
knights.index('who')
7.insert()
8.pop()
9. remove()
10. reverse()
11. sort()
3.7、高级排序
方法sort()接受两个可选参数:key和reverse。
比如要根据长度对元素进行排序,可将参数key设置为函数len。
x.sort(key=len)
参数key能被设置为一个自定义函数。
二、操作列表
4.1 遍历整个列表
1 magicains = ['alice','davaid','carolina'] 2 for magician in magicians: 3 print(magician)
4.2 创建数值列表
4.2.1 使用函数range()
Python()函数range(start, end,step)可以生成一系列的数字,输出不包含最后一个数字end,其中step为步长。
for value in range(1,5): print(value)
4.2.1 使用range()创建数字列表
要创建数字列表,可使用函数list()将range()的结果直接转换为列表。
numbers = list(range(1,6)) print(numbers)
4.2.2 列表解析
列表解析将for 循环和创建新元素的代码合并成一行,并自动附加新元素。
squares = [value**2 for value in range(1,11)] print(squares)
4.3 使用列表的一部分
处理列表的部分元素——Python称之为切片
4.4.1 切片(slicing)
要创建切片,可指定要使用的第一个元素和最后一个元素的索引,中间用“ : ”连接,整体用中括号“ [ ] ”括起来。
example[0:3]
当不指定start或end时,切片起始于start或终止于end。
start为负数时表示索引从列表末尾开始。
step指定切片的步长 example[0:3:1]
4.4.2 复制列表
要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引“ [ : ] ”
example = list('abcd') copy_example = example[:]
4.4 乘法
将序列与数x相乘时,将重复这个序列x次来创建一个新序列。
- 在Python中,None表示什么都没有。
- 空列表是使用不包含任何内容的两个方括号( [ ] )来表示。
- 初始化就是将变量赋值为None
4.5 成员资格
要检查特定的值是否包含在序列中,可使用布尔运算符 in 。
它检查是否满足指定的条件,并返回相应的值:满足时返回True,不满足时返回False。
三、元组简介(tuple)
Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
4.1、定义元祖
元祖看起来犹如列表,但使用圆括号而不是方括号来标示。
定义元祖后,可以使用索引来访问其元素,就像访问列表元素一样。
元祖中的元素不能被修改。
虽然不能修改元祖的元素,但可以给存储元祖的变量赋值,达到修改元祖的“目的”。