一、序列
1.1 序列的概念
- 分类:字符串、列表、元组。
- 含义:序列,顾名思义,是有序的,序列都有索引,都能进行索引、切片(截取)、加(连接)、乘(倍增)、检查成员的操作。
- 因为序列有序,可通过位置来区分元素,所以序列中可含有相同的元素。
1.2 序列的通用操作
- 索引
seq[index] index从0开始,支持负数,-1表示最后一个元素。 - 切片(截取)
seq[start:end] 可截取子序列,返回的是副本,原序列不变。缺省时默认start为0,end为-1。 - +(连接)
seq1+seq2+seq3+… 将多个序列连接为一个序列,返回的是副本,原序列不变,序列的类型要相同,才能相加,比如列表只能+列表,不能+字符串。 - (倍增)*
seq*n 将序列扩展为原来的n倍,比如“hello”*2就是“hellohello”。返回的是副本,原序列不变。 - in、not in(检查成员)
element in/not in seq 判断某个成员是否在序列中,返回值是bool型 - python内置函数,不必导入模块:
len(seq) 返回序列长度(元素个数)
max(seq) 返回序列中值最大的元素
min(seq) 返回序列中值最小的元素
二、列表
2.1 列表的使用
- 创建列表
创建空列表
list1=[]
a=[1,2,3]
list1.append(a)
列表函数创建
a=list(range(5))
列表表达式
c=[i for i in range(5)]
print(list1,type(list1))
print(a,type(a))
print(c,type(c))
- 列表取值
使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,与字符串的索引一样,列表索引从0开始
a=['你好','我喜欢你','早上好','钢铁侠']
#取第一个元素
print(a[0])
#取最后一个元素
print(a[3])
print(a[-1])
#全部取出来
print(a[:])
print(a[::])
2.2 切片
# 开始值:结束值:步长 步长默认为 1
a=[1,2,3,4,5,6,7]
print(a[:])
print(a[::])
print(a[0:8])
#取2,3,4,5
print(a[1:5])
# 取4
print(a[3:4])
#隔两个取一个
print(a[0:8:2])
#反转
print(a[::-1])
2.3 修改列表
a=[1,2,3,4,5,6]
#修改一个值
a[0]=4
print(a)
#修改一组值,修改个数要和索引个数一模一样
a[1:7]=[4,5,6,7,8,9]
print(a)
#隔两个修改一个值
a[1:7:2]=[10,11,12]
print(a)
2.4 列表方法
- 列表常用方法
1.len
#列表长度
a=[1,2,3,4,5,6]
print(len(a))
2.append
# 在列表末尾添加新的对象
b=[1,2,3]
b.append(4)
print(b)
3.count
# 统计某个元素在列表中出现的次数
b=[1,2,3,4,5,5,5,7]
print(b.count(5))
4.extend
# 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
a=[1,2,3]
b=[4,5]
a.extend(b)
print(a)
fruits = ['apple', 'banana', 'cherry']
cars = ['Ford', 'BMW', 'Volvo']
fruits.extend(cars)
print(fruits)
5.index
# 从列表中找出某个值第一个匹配项的索引位置
b=[1,2,3,4,5,5,5,7]
print(b.index(5))
#如果有重复的值,加一个相近的值
b=[1,2,3,4,3,5]
print(b.index(3,4))
6.sort
a=[1,3,4,5,13,6]
#默认从小到大
a.sort()
print(a)
#从大到小
a.sort(reverse=True)
print(a)
7.set
#列表去重
a=[1,2,3,4,5,5,8,8,9,1,1,2]
b=list(set(a))
print(b)
- 其他列表方法
列表方法