从基础掌握 Python 的列表和元组
1 序列
序列是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。
Python 序列结构主要有列表、元组、集合、字典和字符串;
1.1 索引
序列中,每个元素都有属于自己的编号(索引)。从起始元素开始,索引值从 0 开始递增。也可以为负数即从右到左计数;
也可以为负数即从右到左计数;
结果:
1.2 切片
语法:name[start : end : step]
name:表示序列名称;start:切片开始位置,默认为 0end:切片截止位置,默认为序列的长度 step:切片步长,默认为 1
结果:
1.3 序列相加
两个序列类型必须相同
相加即将两个序列进行连接
使用 “ + ” 即可
结果:
不同类型的序列不能相加,比如列表和元组
结果:
1.4 乘法
使用数字 n 乘以一个序列会生成一个新的序列,表示原序列重复 n 次
结果:
还可以初始化序列的长度
结果:
1.5 检查某个元素是不是序列的成员(元素)
使用关键字 in 检查元素是不是序列的成员
结果:
使用 not in 检查是否不包含的关系
结果:
1.6 计算序列的长度、最大值和最小值
max()返回序列中的最大元素,min()返回最小值,len()返回序列的长度
结果:
和序列相关的内置函数
结果:
内容很多,我得坚持。。。。
2 列表
python 中的内置可变序列
使用“ [ ] ”把元素括起来,相邻元素使用“ , ”隔开
2.1 列表的创建和删除
使用赋值运算符直接创建列表
语法:name_list = [元素 1, 元素 2, 元素 3......]
结果:
创建空列表
语法:em_name_list = [ ]
创建数值列表
语法:list(data)
结果:
删除列表
语法:del name_list
结果:
2.2 访问列表元素
结合 print()函数和角标进行配合使用
结果:
2.3 遍历列表
使用 for 循环实现
结果:
使用 for 循环和 enumerate()函数实现,可同时输出元素内容和索引的值
结果:
2.4 添加、修改和删除列表元素
添加元素① name_list.append(元素) :在列表末尾追加
结果:
②name_list.extend(new_name_list):将 new_name_list 中的元素全部添加到 name_list 中
结果:
修改元素: 配合角标使用
结果:
删除元素①根据索引删除,使用 del:
结果:
②根据元素值删除,使用 remove:
结果:
2.5 对列表进行统计计算
获取指定元素出现的次数
获取指定元素首次出现的下标
统计数值列表的元素和
结果:
2.6 对列表进行排序
sort()方法①语法:name_list.sort(key=None, reverse=False)②说明:key 提取一个用于比较的键,reverse 为 True 表示降序,为 False 表示升序
结果:
使用 sorted()方法①语法:sorted(list_name, key=None, reverse=False)②说明:listname 是列表名称,key 为指定的规则,reverse 为 True 表示降序,为 False 表示升序
结果:
2.7 列表推导式
生成指定范围的数值列表
生成指定需求的列表
列表中选择符合条件的元素组成新的列表
结果:
3 元组
元组是不可变序列
使用“( )”括起来,元素间用逗号隔开
3.1 元组的创建和删除
直接使用赋值运算符创建元组
创建空元组
创建数值元组
删除元组
结果:
3.2 访问元组元素
结合 print()和下标
结果:
3.3 修改元组元素
元组是不可变序列,不能修改单个元素,重新赋值生成新的元组
结果:
3.4 元组推导式
同列表类似,使用推导式可以快速生成一个元组(不再赘述)
3.5 面试必备:元组与列表的区别
相同点:
①都属于序列;
②都可以按照特定顺序存放一组元素;
③类型不受限制。
区别:
①列表属于可变序列,元素可以修改和删除;元组属于不可变序列,元素不可以修改,但可以替换;
②列表可以使用 append()、extend()、insert()、remove()、pop()等方法,但是元组不能;
③列表可以使用切片,元组不行;
④元组比列表的访问和处理速度要快;
⑤列表不能作为字典的键值,但元组可以。
4 知识脑图
版权声明: 本文为 InfoQ 作者【虫无涯】的原创文章。
原文链接:【http://xie.infoq.cn/article/c169e74316de8ff1ca7c458c5】。文章转载请联系作者。
评论