序列时python中最基础的数据结构,在序列中每个元素都有自己的编号,第一个元素的编号索引为0,第二个为1,以此类推,python中的元祖和列表就是序列,其中的字符串也是序列中的一种
列表的定义如下:list = [], list = [1,2,3,4]
元祖的定义如下:tup = (), tup = (1,2,3,4)
二者之间类似,列表使用[]进行定义,元组使用()进行定义
注意:容器是python支持的一种基本的数据结构,其中两种主要容器结果是序列和映射
索引:元组和列表都可以通过索引获取序列中的元素,由此也可以了解到元祖也是一种有序的容器结构
list = [1, 2, 3, 4]
tup = (1, 2, 3, 4)
print(list[0])
print(tup[0])
print(list[0:3])
print(tup[0:3])
# 运行结果
1
1
[1, 2, 3]
(1, 2, 3)
切片:切片与索引的作用一致,用于访问容器中的数据,不同之处在于根据索引我们一次只能获取一个元素,使用切片我们能获取容器对象中的一部分元素,切片时我们需要提供两个切片的边界,第一个在序列的编号范围内,第二个可以不在编号的范围内
list = [1, 2, 3, 4]
tup = (1, 2, 3, 4)
# 获取编号为0-3的元素
print(list[0:3])
print(tup[0:3])
# 获取最后两位, 使用负数进行切片
print(list[-3:-1])
步长概念: 在切片中,默认的是三个参数,两个边界值与一个步长值,步长用于每隔多少元素去出一个元素
# 步长,取出2,4,6,8
list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list[1:9:2])
相加:序列的相加与字符串的相加一致,产生一个全新的序列,在列表和元组中的相加法则是列表与列表进行相加,元组与元组进行相加
# 序列与元组之间的相加
list1 = [1, 3, 5, 7, 9]
list2 = [2, 4, 6, 8]
tup1 = ('a', 'b', 'c')
tup2 = ('A', 'B', 'C')
# 序列与序列相加
print(list1 + list2)
# 元组与元组相加
print(tup1 + tup2)
‘’‘元祖与列表之间不能进行相加’‘’
# 序列与元组相加
# print(list1 + tup1)
# 元组与序列相加
# print(tup2 + list2)
相乘:重复原序列创建一个新的序列
list1 = [1, 3, 5, 7, 9]
listnew = list1 * 2
print(listnew)
# 打印结果
[1, 3, 5, 7, 9, 1, 3, 5, 7, 9]
成员资格检查:成员检查主要用于检测序列中是否含有某个元素,我们使用in运算去判断,返回结果是一个bool值
list1 = [1, 3, 5, 7, 9]
if 1 in list1:
print("存在")
else:
print("不存在")
长度、最大值、最小值:python中分别使用len()、max()、min()去求取序列中的最大值,最小值,以及长度
list1 = [1, 2, 3, 4]
listnew = list(list1)
listStr = list("hello Word")
list1 = [1, 2, 3, 4]
# 使用编号赋值
list1[1] = "hello"
print(list1)
# 使用切片赋值
list1[1:2] = "hello"
print(list1)
list1[1:2] = ["hello"]
print(list1)
# 打印结果
[1, 'hello', 3, 4]
[1, 'h', 'e', 'l', 'l', 'o', 3, 4]
[1, 'hello', 3, 4]
list1 = [1, 2, 3, 4]
# 删除第一个元素
del list1[0]
print(list1)
# 删除切片
del list1[0:2]
print(list1)
# 打印结果
[2, 3, 4]
[4]
list1 = [1, 2, 3, 4]
# 末尾增加一个对象
list1.append("name")
print(list1)
# 末尾追加一个元祖
list1.append(("name", "age", "sex"))
print(list1)
list1 = [1, 2, 3, 4, 1, 1, 2, 3]
print(list1.count(1))
list1 = [1, 2, 3, 4, 1, 1, 2, 3]
# 末尾追加一个元祖
list1.extend(["name", "age"])
print(list1)
index,返回查找的索引,如果含有重复的数据时返回的时第一个查到到的下
list1 = [1, 2, 3, 4, 1, 1, 2, 3]
print(list1.index("3"))
>>> numbers = [1,2,3,4]
>>> numbers.insert(1,"name")
>>> print(numbers)
[1, 'name', 2, 3, 4]
>>>
list1 = [1, 2, 3, 4, 1, 1, 2, 3]
# 弹出最后一个
num = list1.pop()
print(num)
# 弹出编号为3的
indx = list1.pop(3)
print(indx)
>>> numbers = [1,2,3,4]
>>> numbers.insert(1,"name")
>>> print(numbers)
[1, 'name', 2, 3, 4]
>>> numbers.remove("name")
>>> print(numbers)
[1, 2, 3, 4]
>>>
list1 = [1, 3, 5, 2, 4, 7, 6, 8, 9]
list1.reverse()
print(list1)
[9, 8, 6, 7, 4, 2, 5, 3, 1]
list1 = [1, 3, 5, 2, 4, 7, 6, 8, 9]
list1.sort()
print(list1)
[1, 2, 3, 4, 5, 6, 7, 8, 9]