Python列表

为什么需要列表

  • 变量可以储存一个元素,而列表是一个“大容器”可以储存N多个元素,程序可以方便的对这些数据进行整体操作
  • 列表相当于其他语言的数组
  • 列表可以存储多种数据类型
  • 列表的数据类型为list

 

列表的创建

列表需要使用中括号[ ],元素之间使用英文的逗号进行分隔

列表的创建方式

  • 使用中括号
  • 调用内置函数list()
a=[1,2,3,'a','b']
a=list([1,2,3,'a','b'])

 空列表

a=[]
a=list()

 

 列表的特点

  • 列表元素按照顺序有序排序
  • 索引映射唯一个数据
  • 列表可以存储重复数据
  • 任意数据类型混存
  • 根据需要动态分配和回收内存

 列表的查询操作

获取列表中指定元素的索引

 获取列表中的单个元素

 index()函数的使用

a=['hello',3.14,98,'hello']

print(a.index('hello')) #查找hello的索引

print(a.index('hello',1,4)) #在指定的范围内查找索引

列表元素

列表元素的查询操作

获取列表中的多个元素

语法格式

列表名[start:stop:step]

 切片操作

a=[1,2,3,4,5,6,7,8]
#start=1,stop=6,step=1
print(a[1:6:1])

执行结果:[2, 3, 4, 5, 6]

print(a[::-1]) #步长为负数,逆向输出
执行结果:[8, 7, 6, 5, 4, 3, 2, 1]

判断指定元素在列表中是否存在

 列表元素的遍历

 列表元素的增删改操作

列表元素的增加操作

a=[1,2,3,4,5,6,7,8]
b=['a','b']
a.append(100) #向列表末尾添加一个元素
print(a)

a.extend(b) #向列表末尾添加多个元素
print(a)

a.insert(2,100) #指定在列表任意位置添加一个元素
print(a)

a[0:5:]=b #在任意位置添加N多个元素
print(a)

列表元素的删除操作

a=[1,2,3,4,5,6,7,8,3]
a.remove(3) #从列表中移除一个元素,如果有重复元素只移第一个元素

a.pop(1) #pop()根据索引移除元素
a.pop() #如果不指定索引,则删除列表最后一个元素

new_a=a[1:3] #切片操作,删除至少一个元素,将产生一个新的列表对象

a[1:3]=[] #不产生新的列表对象,而是删除原列表中的内容

a.clear() #清除列表中的所有元素

del a #将列表对象删除

列表元素的修改操作

  • 为指定索引的元素赋予一个新值
  • 为指定的切片赋予一个新值
a=[1,2,3,4] #一次修改一个值
a[2]=100
print(a)

a[1:3]=[300,400,500] #修改切片的值
print(a)

 列表元素的排序操作

常见的两种方式

  • 调用sort()方法,列表中的所有元素按照从小到大的顺序进行排序(升序),可以指定reverse=True,进行降序排序
  • 调用内置函数sortd(),可以指定reverse=True,进行降序排序,原列表不发生改变
a=[10,52,68,20]
a.sort() #开始排序,调用列表对象的sort方法,升序排序,不改变也
print(a)

a.sort(reverse=True) #通过指定关键字参数,将列表中的元素进行降序排序 reverse=False为升序排序
print(a)
#sort()函数排序列表不会产生新的列表对象

new_a=sorted(a) #sorted()函数对列表进行排序,将产生一个新的列表,原列表不发生任何改变

sorted(a,reverse=True) #通过指定关键字参数,将列表中的元素进行降序排序 reverse=False为升序排序

列表生成式

列表生成式:生成列表的公式

语法格式:

”表示列表元素的表达式“中通常包含自定义变量 

a=[i for i in range(1,10)]
print(a)

b=[i*2 for i in range(1,6)] #列表中的元素的值为2,4,6,8,10
print(b)

 总结

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值