环境及版本
1 | Windows 10 x64 |
列表(list)
- 列表是一种可变的有序集合,可以随时添加、修改、删除列表中的元素
list类型
- list()实际上是一种类型而不是一个函数,并且使适用于所有类型的序列,可以将传入的内容变为一个列表
1 | list_1 = list("I am wxmimperio") |
列表的操作
- 所有序列的操作方法都适用于列表
元素赋值(修改列表)
- 类似于C、Java里给数组赋值a[i] = 10,通过索引给元素赋值
- 但不能给一个不存在的位置赋值,否则会产生越界
1 | list_2 = [1,2,3,4,5,6,7,8,9] |
删除元素
- 通过del语句来实现元素的删除,当然del还能用于其他序列类型的删除操作
1 | del list_2[2] |
分片赋值操作
- 结合分片操作,可以一次性给多个元素赋值
1 | list_2[6:] = list("hello") |
- 也可以在不替换元素的情况下直接插入元素
1 | list_3 = [1,6] |
- 也可以用来删除元素,利用[]空列表完成
1 | list_3[1:4] = [] |
列表的方法
- 方法是一个与某些对象相关联的函数
- 对象名.方法名(参数),进行调用
append方法
- 用于在列表的末尾添加新元素
- 用此方法进行操作时,是直接修改原来的列表,也就是新列表和旧列表指向同一块地址
1 | list_4 = ['a','b','c','d','e','f','g'] |
count方法
- 用来统计某个元素在列表中出现的次数
- 返回int类型的数值
1 | conut = list_4.count('a') |
extend方法
- 可以在列表的末尾一次性添加多个元素
- 此方法修改了原来的列表
1 | list_4.extend([2,3,4]) |
index方法
- 可以从列表中找出索引位置上元素的值
- 若索引的元素不再列表中,则会抛出异常
1 | print list_4.index('b') |
insert方法
- 用于将元素插入到索引对应的位置
1 | list_4.insert(2,'wxm') |
pop方法
- 用于移除列表中的一个元素,默认是最后一个,并且返回该元素的值
- pop方法是唯一一个既能改变列表又能返回元素之的方法
- 通过pop和append方法的组合,可以实现后进先出(LIFO)的数据结构——栈
1 | print list_4.pop() |
remove方法
- 用于移除列表中某个元组值的第一个匹配项
- 此方法没有返回值,但是修改了原来的列表
1 | list_4.insert(3,1) |
reverse方法
- 将列表中的元素逆序
- 该方法也没有返回值,但是改变了原列表
- 利用reversed可以产生一个迭代器
1 | list_4.reverse() |
1 | for x in reversed(list_4): |
sort方法
- 用于给列表中的元素排序,默认升序
- 该方法没有返回值,但是改变了原来列表
- 利用sorted可以产生一个迭代器
1 | list_5 = [88,1,9,5,20] |
多因素排序,可选参数key和reverse
key表示排序标准,按照什么逻辑进行排序,如长度等
- reverse是布尔值True or False,用来指明排序是否需要逆序
1 | list_6 = ['xx','ab','g','y23','i85dfa'] |
元组
- 元组和列表一样,也是一种序列
- 不同的是元组的元组值一旦确定就 不能 被修改
- 要创建元组,必须使用逗号分隔
1 | tuple_1 = 1,2,3 |
- 空元组则用()表示
1 | tuple_empty = () |
tuple类型
- 同list类型一样,以一个序列为参数,将传入的参数转化为元组类型
1 | print tuple([1,2,3,4,5,6]) |
元组的操作
- 元组的操作只有创建和访问,因为不能修改,所以它没有append(),insert()这样的方法
1 | tuple_3 = tuple('tuple') |
多元化元组
- 可以通过元组和其他的序列组合,完成元组的“修改”
1 | tuple_4 = tuple([1,2,3,['a','b','c']]) |
- 元组可以在映射(集合的成员)中当键的作用,因为它不可改变,列表则不行
- 元组作为很多内建函数和方法的返回值存在,能保证代码的安全性
参考:Python基础教程(第2版·修订版)
转载请注明出处