基于上次对选择循环结构,和字符串的基础知识介绍,这篇博客总结列表和元组的使用。
一、列表
列表用来一次性存储多个数据。
1、列表格式
1 | [数据1, 数据2, 数据3, 数据4...]; |
列表存储的多个数据可为不同类型,但为了相关操作,尽量存储相同数据类型的数据。
2、列表的常用操作
对列表中的多个数据实现增、删、改、查等基本操作。
查找
下标
1 | name_list = ['Tom','Rose','Lily']; |
函数
index():返回指定数据所在位置的下标
语法:
1
列表序列.index(数据,开始位置下标,结束位置下标) #如果不写开始结束下标,则代表全部
例子:
1
print(name_list.index('Lily',0,2)) #2
注意:如果找不到数据则会报错
count():统计指定数据在当前列表中出现的次数
1
print(name_list.count('Lily')); #1
len():访问列表长度,即列表中数据的个数
1
print(len(name_list)); #3
len()是一个公共函数,字符串、列表等都可以用该方法统计个数
判断指定数据是否存在
- in:判断指定数据存在于列表序列中,返回bool
- not in:相反。
1 | print('Tom' in name_list); #True |
增加
增加数据到列表中
append():列表结尾追加数据
语法:
1
列表序列.append(数据)
例子:
1
2name_list.append('xiaoming');
print(name_list) #['Tom','Rose','Lily','xiaoming']列表追加数据的时候,直接在原列表里面追加了指定数据,即修改了原列表,故列表为可变数据类型
extend():结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表中
语法:
1
列表序列.extend(数据)
例子:
1
2name_list.extend('xiaoming'); #['Tom','Rose','Lily','x','i','a','o','m','i','n','g']
name_list.extend(['xiaoming','xiaoming']) #['Tom','Rose','Lily','xiaoming','xiaoming']insert():指定位置新增序列
语法:
1
列表序列.insert(位置下标,数据)
例子:
1
name_list.insert(1,'xiaoming') #['Tom','xiaoming','Rose','Lily']
删除
del
语法:
1
del 目标
例子:
1
2
3
4# 删除指定数据
del name_list[0]
# 删除列表
del name_listpop():删除指定下标的数据(默认最后一个),并返回该数据。
语法:
1
列表序列.pop(下标)
例子:
1
2del_name = name_list.pop(1) # Rose
print(name_list) # ['Tom','Lily']remove():移除列表中某个数据的第一个匹配项。
语法:
1
列表序列.remove(数据)
例子:
1
name_list.remove('Rose') # ['Tom','Lily']
clear():清空列表
1
2name_list.clear()
print(name_list) # 结果:[]
修改
修改指定下标数据
1
name_list[0] = 'Test' # ['Test','Rose','Lily']
逆置:reverse()
1
2num_list = [1,2,3]
num_list.reverse() # [3,2,1]排序:sort()
语法:
1
列表序列.sort(key=None, reverse=False)
注意:reverse表示排序规则,reverse = False 升序(默认),reverse = True 降序,
例子:
1
num_list.sort(reverse=True) # 降序,[3,2,1]
复制
函数:copy()
1 | list1 = name_list.copy() |
其他
和字符串一样,也可切片等。
3、列表的循环遍历
while
1 | i = 0 |
for
1 | for i in name_list: |
4、列表嵌套
1 | num_list = [[1,2,3],[4,5,6],[7,8,9]]; |
二、元组
一个元组可以存储多个数据,元组内的数据是不能修改的。
1、定义
1 | t1 = (1,2,3) #定义多个数据的元组 |
注意:一个数据的元组,后面最好跟上一个逗号,否则数据类型为唯一的。
1 | t3 = (1,) #tuple |
2、元组的常见操作
元组数据不支持修改,只支持查找操作,具体如下:
- 按下标查找数据
- index()
- count()
- len()
与上述介绍列表查找方法基本相同。
3、元组数据的修改
元组内的直接数据如果修改则报错
1
2tuple1 = (1,2,3)
tuple1[1] = 1 #报错如果元组内有列表,修改列表里的数据则是支持的
1
2tuple2 = (1,2,[1,2,3],4)
tuple2[2][0] = 0 #支持
尽量不要修改元组内的数据