python基础9---列表

python笔记

1、列表list[ ]

1.1 列表特点:
  • 有序
  • 可以存重复数据
  • 通过索引可以定位唯一的元素,可以往右0开始+1顺序递增索引,也可以往左0-1开始递减索引
  • 任意数据类型都可以存储
1.2 索引列表中的单个元素

index()方法

  • 重复数据索引时只按顺序返回一个数据
  • 如果索引的内容不在列表中,会报错
1.3 索引列表中的多个元素
  • 切片操作:[start:stop:step]
  • 切片范围:[开始,结束),索引步长为step,步长也可以是负数
  • 省略start时默认从0开始
  • 如果stop和step都不写是一直到最后,步长默认1
# 列表多个元素的索引:切片练习
l1=['hello','stop',99,"hello"]
print("原列表:",l1)
print("切片后的列表:",l1[0:2:1])
print(l1[:2:1])     # 省略start数据时默认从0开始
#输出
原列表: ['hello', 'stop', 99, 'hello']
切片后的列表: ['hello', 'stop']
['hello', 'stop']
1.3 列表元素的遍历
  • 就是将列表中的元素依次输出
# 列表的遍历:将列表中的元素依次输出
l1=['hello','stop',99,"hello"]
for l2 in l1:
    print(l2)
1.4 列表的增加操作
  • append():在列表的末尾添加一个元素
  • extend():在列表的末尾可以添加多个元素
  • insert():在列表的任意位置添加一个元素
  • 切片:在列表的任意位置添加多个元素
# 列表的添加操作
l1=["hello","ayh",99,"soa"]
l1.append(188)      #append只能在列表末尾添加一个元素,哪怕添加的是列表也会当成一个元素
print("添加后:",l1)
#输出
添加后: ['hello', 'ayh', 99, 'soa', 188]

l1=["hello","ayh",99,"soa"]
l2=["sss",999]
l1.extend(l2)       #extend可以在列表末尾添加多个元素
print("添加后:",l1)
#输出
添加后: ['hello', 'ayh', 99, 'soa', 'sss', 999]

l1=["hello","ayh",99,"soa"]
l1.insert(1,90)         #insert是在1的索引位置添加元素90
print(l1)
#输出
['hello', 90, 'ayh', 99, 'soa']

l1=["hello","ayh",99,"soa"]
l2=["sss",999]
l1[1:]=l2       #把l2的元素赋值替换掉l1切片的范围
print(l1)
#输出
l1=["hello","ayh",99,"soa"]
l2=["sss",999]
l1[1:]=l2       #把l2的元素赋值替换掉l1切片的范围
print(l1)
1.5 列表的删除操作
  • remove():一次只能删除一个元素,如果有重复的只按顺序删第一个,元素不存在的时候报错
  • pop():删除一个指定索引位置上的元素,元素不存在的时候报错,不指定索引的时候默认删最后一个
  • 切片:仅保留切片后的元素数据
  • clear():清空列表元素
  • del:删除列表对象,清空后输出列表对象会报错
# 列表的删除操作
l1=["hello","ayh",99,"soa",99]
l1.remove(99)       #remove一次只能删除一个元素,有重复元素的按顺序只删除第一个
print(l1)
#输出
['hello', 'ayh', 'soa', 99]

l1=["hello","ayh",99,"soa",99]
l1.pop(0)       #pop删除一个指定索引位置的元素
print(l1)
l1=["hello","ayh",99,"soa",99]
l1.pop()        #如果不指定索引位置,默认删除最后一个元素
print(l1)
#输出
['ayh', 99, 'soa', 99]
['hello', 'ayh', 99, 'soa']

l1=["hello","ayh",99,"soa"]
print("切片后的列表:",l1[1:3:1])      #切片保留元素,间接删除操作
#输出
切片后的列表: ['ayh', 99]

l1=["hello","ayh",99,"soa"]
l1.clear()          #clear清空列表元素
print(l1)
l1=["hello","ayh",99,"soa"]
del l1      #删除列表对象,删除后再打印输出列表会报错
print(l1)
#输出
[]
Traceback (most recent call last):
  File "<input>", line 6, in <module>
NameError: name 'l1' is not defined
1.6 列表的修改操作
# 列表的修改
l1=["hello","ayh",99,"soa"]
l1[1]="word"        #把索引1位置的元素替换成“word”
print(l1)

l1=["hello","ayh",99,"soa"]
l1[1:3:1]=[20,90,10]        #切片更换元素
print(l1)
1.7 列表的排序
  • sort():默认升序,降序用sort(reverse=True),改变原列表顺序
  • sorted():只展示排序,不改变原列表顺序
# 列表的排序
l1=[90,12,54,23,100]
l1.sort()       #默认升序排序
print(l1)
#输出
[12, 23, 54, 90, 100]

l1=[90,12,54,23,100]
l1.sort(reverse=True)       #降序
print(l1)
l1.sort(reverse=False)       #升序
print(l1)
#输出
[100, 90, 54, 23, 12]
[12, 23, 54, 90, 100]

l1=[90,12,54,23,100]
print(sorted(l1))       #只展示排序,不改变实际l1顺序
print(l1)
#输出
[12, 23, 54, 90, 100]
[90, 12, 54, 23, 100]
上一篇:Python 商品价格区间设置与排序


下一篇:关于破解压缩包密码的建议