07 列表

定义:中括号括起来,可以存放多个表项(元素)

表项与表项之间用逗号隔开,表项可以是任何数据类型

能够支持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 报错
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值