列表的简介
- 一次性存储多个数据
- 一般用来存储相同类型的数据
- 列表数据是可改的,列表是可变的
[数据1,数据2,数据3,……]
- 列表可以一次性存储多个数据,且可以为不同数据类型,但一般存储相同类型的数据
列表的常用操作
- 列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查
查找
下标
序列名[下标]
list1 = ['张三', '李四', '王五']
print(list1[0])
print(list1[1])
print(list1[2])
输出结果
张三
李四
王五
index()
列表序列.index(数据,开始下标,结束下标)
- index():返回指定数据所在位置的下标,如果不存在,报错
存在,返回指定数据的索引
list1 = ['张三', '李四', '王五']
print(list1.index('李四'))
输出结果
1
不存在,报错
list1 = ['张三', '李四', '王五']
print(list1.index('lisi'))
输出结果
Traceback (most recent call last):
File "/Users/apple/Desktop/code1/hello.py", line 2, in <module>
print(list1.index('lisi'))
ValueError: 'lisi' is not in list
count()
列表序列.count(数据)
- count():统计指定数据在当前列表中出现的次数
list1 = ['张三', '李四', '王五', '张三', '李四', '张三']
print(list1.count('张三'))
输出结果
3
len()
len(列表序列)
-
通用方法,可以用来统计字符串、列表、元组、字典的长度
-
统计列表中元素的个数,即列表的长度
list1 = ['张三', '李四', '王五', '张三', '李四', '张三']
print(len(list1))
输出结果
6
判断
- 判断返回的是布尔类型,True或False
- in 和 not in 也属于公共方法
in
要检查的数据 in 序列
- 判断序列中是否包含要检测的数据,包含返回True,否则返回False
list1 = ['张三', '李四', '王五', '张三', '李四', '张三']
print('张三' in list1)
print('zhangsan' in list1)
输出结果
True
False
not in
要检测的数据 not in 列表序列
- 判断列表是否不包含要检测的数据,不包含,返回True,否则返回False
list1 = ['张三', '李四', '王五', '张三', '李四', '张三']
print('张三' not in list1)
print('zhangsan' not in list1)
输出结果
False
True
增加
- 增加指定数据到列表中
append()
列表序列.append(数据)
- append():列表结尾追加数据
- 将追加的数据作为一个整体,追加到列表末尾
追加一个数据
list1 = ['a', 'b', 'c']
print(list1)
list1.append('d')
print(list1)
输出结果
['a', 'b', 'c']
['a', 'b', 'c', 'd']
追加一个列表,将列表看做一个元素
list1 = ['a', 'b', 'c']
print(list1)
list1.append(['d', 'e', 'f'])
print(list1)
print(len(list1))
输出结果
['a', 'b', 'c']
['a', 'b', 'c', ['d', 'e', 'f']]
4
extend()
列表序列.extend(数据)
- 将追加的数据拆开追加到末尾
- 如果追加的是一个字符,直接将这个字符追加到末尾
- 如果追加的是一个字符串,将这个字符串中的每个字符分别追加到末尾
- 如果追加的是一个列表,将列表中的每个元素追加到末尾,列表中的元素不再拆分追加
追加一个字符
list1 = ['a', 'b', 'c']
print(list1)
list1.extend('d')
print(list1)
输出结果
['a', 'b', 'c']
['a', 'b', 'c', 'd']
追加一个字符串
list1 = ['a', 'b', 'c']
print(list1)
list1.extend('def')
print(list1)
输出结果
['a', 'b', 'c']
['a', 'b', 'c', 'd', 'e', 'f']
追加一个列表
list1 = ['a', 'b', 'c']
print(list1)
list1.extend(['dd', 'ee', 'ff'])
print(list1)
输出结果
['a', 'b', 'c']
['a', 'b', 'c', 'dd', 'ee', 'ff']
insert()
列表序列.insert(要插入的下标位置,数据)
- 在指定位置新增数据,原有数据全部后移
list1 = ['a', 'b', 'c']
print(list1)
list1.insert(1,'dd')
print(list1)
输出结果
['a', 'b', 'c']
['a', 'dd', 'b', 'c']
删除
del
del 目标
del(目标)
- 可以删除整个列表
- 也可以删除列表中的一个元素
删除整个列表
list1 = ['aa', 'bb', 'cc', 'dd', 'bb', 'cc', 'bb']
print(list1)
del list1
print(list1) # 列表已经被删除,报错
输出结果
Traceback (most recent call last):
File "/Users/apple/Desktop/code1/hello.py", line 4, in <module>
print(list1) # 列表已经被删除,报错
NameError: name 'list1' is not defined
['aa', 'bb', 'cc', 'dd', 'bb', 'cc', 'bb']
根据下标删除对应的元素
list1 = ['aa', 'bb', 'cc', 'dd']
print(list1)
del list1[1] # del(list1[1])
print(list1)
输出结果
['aa', 'bb', 'cc', 'dd']
['aa', 'cc', 'dd']
pop()
列表序列.pop(下标)
- pop():删除指定下标的数据(默认为最后一个)
- 返回值为删除的元素
删除指定下标的数据
list1 = ['aa', 'bb', 'cc', 'dd']
print(list1)
temp = list1.pop(1)
print(temp)
print(list1)
输出结果
['aa', 'bb', 'cc', 'dd']
bb
['aa', 'cc', 'dd']
默认删除最后一个元素
list1 = ['aa', 'bb', 'cc', 'dd']
print(list1)
temp = list1.pop()
print(temp)
print(list1)
输出结果
['aa', 'bb', 'cc', 'dd']
dd
['aa', 'bb', 'cc']
remove()
列表序列.remove(数据)
- remove():移除列表中某个数据的第一匹配项
- 删除一个数据
list1 = ['aa', 'bb', 'cc', 'dd', 'bb', 'cc', 'bb']
print(list1)
list1.remove('cc')
print(list1)
输出结果
['aa', 'bb', 'cc', 'dd', 'bb', 'cc', 'bb']
['aa', 'bb', 'dd', 'bb', 'cc', 'bb']
clear()
数据列表.clear()
- 清空列表,删除列表中的所有数据
list1 = ['aa', 'bb', 'cc', 'dd', 'bb', 'cc', 'bb']
print(list1)
list1.clear()
print(list1)
输出结果
['aa', 'bb', 'cc', 'dd', 'bb', 'cc', 'bb']
[]
修改
根据下标,直接修改对应数据
列表序列[下标] = 数据
- 直接修改指定下标数据
list1 = ['aa', 'bb', 'cc', 'dd']
print(list1)
list1[1] = 'bbb'
print(list1)
输出结果
['aa', 'bb', 'cc', 'dd']
['aa', 'bbb', 'cc', 'dd']
reverse()
列表序列.reverse()
- 将列表逆置,即反向
list1 = ['aa', 'bb', 'cc', 'dd']
print(list1)
list1.reverse()
print(list1)
输出结果
['aa', 'bb', 'cc', 'dd']
['dd', 'cc', 'bb', 'aa']
sort()
列表序列.sort(key=None, reverse=False)
- reverse表示排序规则,reverse = True降序,reverse = False升序(默认是升序)
list1 = ['aa', 'dd', 'bb', 'cc']
print(list1)
list1.sort()
print(list1)
输出结果
['aa', 'dd', 'bb', 'cc']
['aa', 'bb', 'cc', 'dd']
复制
列表序列.copy()
- 复制一个相同的列表
- 操作的时候,防止对原有列表的破坏
list1 = ['aa', 'dd', 'bb', 'cc']
print(list1)
list2 = list1.copy()
list1.sort()
print(list1)
print(list2)
输出结果
['aa', 'dd', 'bb', 'cc']
['aa', 'bb', 'cc', 'dd']
['aa', 'dd', 'bb', 'cc']
列表的循环遍历
使用while遍历
list1 = ['张三', '李四', '王五']
i = 0
while i < len(list1):
print(list1[i])
i += 1
输出结果
张三
李四
王五
使用for遍历
list1 = ['张三', '李四', '王五']
for temp in list1:
print(temp)
输出结果
张三
李四
王五
列表嵌套
- 所谓列表嵌套就是一个列表里面包含了其他子列表
name_list = [['张三', '李四', '王五'], ['Tom', 'Lily', 'Rose'], ['团团', '圆圆', '饭饭']]
for level in name_list:
for name in level:
print(name,end=' ')
print()
输出结果
张三 李四 王五
Tom Lily Rose
团团 圆圆 饭饭
网友评论