定义:中括号括起来,可以存放多个表项(元素)
表项与表项之间用逗号隔开,表项可以是任何数据类型
能够支持for循环的数据,都能够被list转成列表
list_a = ['tiget', 'monkey', 'cat'] # 解释内部 list_a = list(['tiget', 'monkey', 'cat'])
print(type(list_a), list_a)
print(list('123456')) # 每个字符为一个表项
print(list({'a': 65, 'b': 66})) # 键被存入列表,值不要了
索引
变量名后方括号内的整数被称为索引,以0从头开始,—n 从尾开始倒数,只能是整数。
方括号 [ ] 来截取字符串,变量 [头下标:尾下标]。
列表一个表项占一个索引**
list_a = ['a', 'b','c','d', 'e']
print(list_a[0:5]) # [起始值:终止值:步长]
print(list_a[:3]) # 第一个值为空默认从头开始
print(list_a[0:]) # 第二个值为空默认到尾巴
print(list_a[0:5:2]) # 步长
print(list_a[-1:-5:-1]) # 退写
列表的复制
list_0 = ['hello', ' word']
print(list_0 + ['abc']) # 列表的连接
print(list_0 * 2) # 列表的复制
.append() 末尾追加单个表项
list_a = ['a', 'b','c','d', 'e']
list_a.append('f') # 只在末尾添加
print(list_a)
.insert() 插入表项
list_a = ['a', 'b','c','d', 'e']
list_a.insert(0, 'A') # 在索引 0 插入A
print(list_a)
list_a.insert(3, 'A') # 在索引 3 插入A
print(list_a)
扩展列表
利用 for 循环
list_a = ['a', 'b','c','d', 'e']
print(list_a)
a = [1, 2, 3, 4, 5]
for i in a:
list_a.append(i)
print(list_a) # ['a', 'b', 'c', 'd', 'e', 1, 2, 3, 4, 5]
.extend() 等价于 for + append
list_a = ['a', 'b','c','d', 'e']
print(list_a)
a = [1, 2, 3, 4, 5]
list_a.extend(a) # 添加
print(list_a)
del 语法
list_a = ['a', 'b','c','d', 'e']
del list_a[0:2] # del 语法删除 索引
print(list_a) # ['c', 'd', 'e']
.remove () 指定删除
a = ['a', 'b', 'c', 'd', 'e']
print(a) # ['a', 'b', 'c', 'd', 'e']
b = a.remove('a')# 值被清空
print(a) # ['b', 'c', 'd', 'e']
print(b) # None
.pop 弹出表项(默认弹尾部)
a = ['a', 'b', 'c', 'd', 'e']
a.pop() # 弹出 e
print(a) # ['a', 'b', 'c', 'd']
x = a.pop() # 弹出 d 把d在赋值给变量
print(x)
a.pop(1) # 指定弹出索引 1的值
print(a)
.count 统计列表中重复的表项
a = ['A', 'B', 'B', 'B', 'A']
print(a.count('A')) # 2
.clear 清空列表
a = ['A', 'B', 'B', 'B', 'A']
a.clear() # 清空列表
print(a) # []
升序降序倒序
.sort() 排序默认是升序
.sort(reverse = True) ,revers = True 降序
.reverse() 倒序
a = ['A', 'B', 'C', 'B', 'A', '1']
a.sort() # 按ASCII排序
print(a) # ['1', 'A', 'A', 'B', 'B', 'C']
a.sort(reverse=True) # 降序 ['C', 'B', 'B', 'A', 'A', '1']
print(a)
a.reverse() # 倒序 ['1', 'A', 'A', 'B', 'B', 'C']
print(a)
队列与堆栈特征
队列:先进先出
堆栈:后进先出
利用列表实现:
# 队列 先进先出
# 堆栈 后进先出
# 输入 五个值 队列输出
# 创建三个空列表存值
list_1 = [] # 存输入
list_2 = [] # 存队列输出
list_3 = [] # 存堆栈输出
#输入
for i in range(0, 5):
x = input('输入值:')
list_1.append(x) # 5个值依次从末尾添加进列表
print(list_1)
# 队列 (可以不要这个直输出list_1就是队列了)
for i in range(0, 5):
x = list_1.pop(0) # 5个值依次从索引0被弹出来
list_2.append(x) # 在接收值存进去
print(list_2)
# 堆栈
for i in range(0, 5):
x = list_2.pop() # # 5个值依次从末尾索引被弹出来
list_3.append(x) # 在接收值存进去
print(list_3)
# 之前错误总结
list_0 = [0, 1, 2] # 索引 0 -> 3
for i in list_0:
list_0.pop(i)
# 第一次弹出索引0后 list_0 = [1, 2]
# 第二次弹出索引1后 list_0 = [1]
# 第三次弹出索引2后 list_0 = [1] 没有索引2 报错