【李刚-21天通关Python-05】之 元组与列表
一、序列
1、序列指的是包含多项数据的数据结构,序列包含的多个数据项(也叫成员)按顺序排列,可通过索引来访问序列成员
2、Python常见的序列包括字符串、字节串、元组、列表、namedtuple等
二、元组与列表的概念
1、列表是可变的,程序可以修改列表所包含的元素;元组是不可变的,程序无法修改元组所包含的元素
2、区分
- 构建时,方括号是列表,圆括号是元组
- 列表用 list() 创建,元组用 tuple() 创建
三、元组与列表的创建
1、创建方法一
- 列表:[ele1, ele2, ele3, ……]
- 元组:(ele1, ele2, ele3, ……)
- 注意点:如果创建只包含一个元素的元组,不能仅在圆括号中放一个元素,还必须在元素后放一个逗号,例:(ele1, )
my_tuple = (1, 2, 'python')
print(my_tuple) # (1, 2, 'python')
simple_tuple1 = ('python')
print(simple_tuple_err1) # python
simple_tuple2 = ('python', )
print(simple_tuple_err2) # ('python', )
2、创建方法二
- 列表:list() 函数
- 元组:tuple() 函数
- 列表和元组可以互相转换
my_list1 = list(range(2, 6))
print(my_list1) # [2, 3, 4, 5]
my_tuple1 = tuple(range(4,8))
print(my_tuple1) # (4, 5, 6, 7)
my_list2 = list(my_tuple1)
print(my_list2) # [4, 5, 6, 7]
my_tuple2 = tuple(mt_list1)
print(my_tuple2) # (2, 3, 4, 5)
四、通过索引访问元素
- 正向访问(从左至右),索引从0开始,0,1,2,……
- 反向访问(从右至左),索引从-1开始,-1,-2,-3,……
my_tuple = tuple(range(2,10))
print(my_tuple[2]) # 4
print(my_tuple[-2]) # 9
五、子序列
slice(分片或切片):[start : end : step]
my_tuple = ('python', 100, 20, 'java', 'kotlin','js')
print(my_tuple[2 : 5]) # (100, 20, 'java')
print(my_tuple[-5 : -2]) # (100, 20, 'java')
print(my_tuple[2 : -1]) # (20, 'java', 'kotlin')
print(my_tuple[2 : 5 : 2]) # (100, 'java')
print(my_tuple[2 : -1 : 2]) # (20, 'kotlin')
六、序列的加法
1、列表和元组支持加法,加法的和就是两个列表或元组所包含元素的总和
2、列表只能和列表相加,元组只能和元组相加
my_list1 = [20, 'python']
my_list2 = list(range(4))
print(mt_list2) # (0, 1, 2, 3)
print(my_list1 + my_list2) # [20, 'python', 0, 1, 2, 3]
七、序列的乘法
1、列表和元组可以和整数(N)执行乘法,其意义是把它们包含的元素重复N次
my_list = [20, 'python']
print(my_list * 3) # [20, 'python', 20, 'python', 20, 'python']
八、in 运算符
1、in 运算符用于判断列表或元组是否包含某个元素
my_list = [20, 'python']
print(20 in my_list) # True
print('java' in my_list) # False