Python数据类型---列表

一. 作用:按位置存放多个值

二. 定义:[]内用逗号分开,可以放任意类型的多个值

三. 类型转换:但凡能被for循环遍历的类型,都可以当做参数传给list(),转成列表

res=list('hello')
print(res)

print(list({'k1':123,'k2':222}))

四. 列表内置方法
-----优先掌握-----

  1. 按索引存取值(正向存取、反向存取):既可以取,也可以改
l=[111,222,333]
# 正向取
print(l[0])
# 反向取
print(l[-1])
#可以取也可以改,索引存在则修改对应的值,无论是取还是改索引不存在则报错
l[0]=123
print(l)
  1. 切片(顾头不顾尾),切片等同于拷贝行为,而且相当于浅拷贝。
l = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(l[0:5])  # ['a', 'b', 'c', 'd', 'e']
print(l[0:5:2])  # ['a', 'c', 'e']
print(l[len(l):0:-1])  # ['g', 'f', 'e', 'd', 'c', 'b']
# 拷贝列表
l2 = l[:]
# 翻转拷贝
l3 = l[len(l):]
  1. 长度
print(len([1, 2, 3]))  # 3
  1. 成员运算 in 和 not in
l = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
print('a' in l)     # True
print(1 in l)       # False
  1. 往列表中加值
# 5.1 追加,append只能追加到列表末尾
l=[111,222,333]
l.append(4444)
print(l)

# 5.2 插入值
l=[111,222,333]
l.insert(0,'hello')         #第一个参数为索引位置,第二个参数为要插入的对象
print(l)

# 5.3 往列表中追加另一个类表的值,extend中传入参数为可迭代对象,即可被for循环使用的值。
new_l = [1, 2, 3]
l = [111, 222, 333]
l.extend(new_l)
print(l)
  1. 删除
# 6.1 del 通用删除方法,没有返回值,只是单纯的删除,不支持赋值语法
l = [111, 222, 333]
del l[0]    # 删除列表中元素
print(l)
del l   #删除列表

# 6.2 pop 根据索引删除,传入删除为列表索引,不指定索引默认删除最后一个,返回被删除的值
l = [111, 222, 333]
res=l.pop()
print(l)
print(res)

# 6.3 remove 根据元素删除,返回值为None
l = [111, 222, 333]
l.remove(111)
print(l)
  1. 循环
l = [111, 222, 333]
for x in l:
    print(x)

-----需要掌握-----

l = [111, 222, 333, 111, 111, 222, 3333, 111]
# l.count(),统计元素出现次数
print(l.count(111))     # 4

# l.index(),查找元素对应的索引,默认情况下从左到右找到一个对应的元素,找不到则报错
print(l.index(111))     # 0

# l.clear(),清除列表中所有的元素
l.clear()
print(l)          # []

# l.reverse(),将列表翻转
l.reverse()
print(l)  #[111, 3333, 222, 111, 111, 333, 222, 111]

# l.sort(),给列表排序,默认从小到大排(升序),设置reverse=True时为降序。列表内元素必须是同种元素,数字和字符串不能混合使用。
l = [1, 2, 5, 3.2, -1]
l.sort()  # 从小到大排
print(l)  # [-1, 1, 2, 3.2, 5]
l.sort(reverse=True)  # 从大到小排
print(l)  # [5, 3.2, 2, 1, -1]

l = ['a', 'e', 'c']
l.sort()
print(l)  # ['a', 'c', 'e']

-----补充-----
1、队列,FIFO,先进先出

l = []
# 入队操作
l.append(111)
l.append(222)
l.append(333)
# 出队操作
print(l.pop(0))  # 111
print(l.pop(0))  # 222
print(l.pop(0))  # 333

2、堆栈,LIFO,后进先出

l = []
# 入栈操作
l.append(111)
l.append(222)
l.append(333)
# 出栈操作
print(l.pop())  # 333
print(l.pop())  # 222
print(l.pop())  # 111
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值