Python中的列表操作

由于工作的问题,最近实在是太忙,所以才在这个时间给大家更新文章,最近很多同学在头条私信我说,问我有没有零基础入门的教程以及 Python开发和爬虫的系统学习高清图,关于这类问题大家加下助理无双老师QQ:2891926173【邀请码:理想】记得一定要填写邀请码!不然不会通过的!

好的,那么今天我们就来分享今天的知识点。

Python的列表操作可谓是功能强大且方便(相对于Java)
简单、常规的操作就不说了(这不是一个入门教程),介绍几个很有特点的例子

添加

# 追加到结尾(append)li = [1, 2, 3, 4, 5]
li.append(6)print('li = %s' % li)# 输出:li = [1, 2, 3, 4, 5, 6]# 追加一个列表(extend)li2 = ['a', 'b', 'c', 'd', 'e']
li.extend(li2)print('li = %s' % li)# 输出:li = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e']# 列表和列表也可以做加法li_plus = li + li2print('li_plus = %s' % li_plus)# 输出:li_plus = [1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']


删除

# 删除列表中的元素li = [1, 2, 3, 4, 5]
li.remove(3)print('li = %s' % li)# 输出:li = [1, 2, 4, 5]
# 根据索引删除元素del li[3]print('li = %s' % li)# 输出:li = [1, 2, 4]

 

截取(又叫切片操作)
格式: [start:end:step] 。记住这个格式后你就可以发挥想象了

li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 每隔两个元素取一个li2 = li[::2]print('li2 = %s' % li2)# 输出:li2 = [0, 2, 4, 6, 8, 10]# 最后一个元素element = li[-1]print('element = %s' % element)# 输出:element = 10# 拷贝(拷贝后是一个新对象)li2 = list(li)print('li2 = %s' % li2)# 输出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]


提取并删除(pop)

li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]# 提取并删除最后一个元素li.pop()    # 等同于 li.pop(-1)print('li = %s' % li)# 输出:li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 提取并删除第一个元素(或第n个元素)li.pop(0)print('li = %s' % li)# 输出:li = [1, 2, 3, 4, 5, 6, 7, 8, 9]

 

排序

# 正序排列li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]
li.sort()print('li = %s' % li)# 输出:li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]# 倒序li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]
li.sort(reverse=True)print('li = %s' % li)# 输出:li = [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]# 翻转(不是倒序排列)li = [3, 1, 5, 8, 0, 9, 2, 6, 7, 4]
li.reverse()print('li = %s' % li)# 输出:li = [4, 7, 6, 2, 9, 0, 8, 5, 1, 3]


列表解析

根据已有列表,高效创建新列表的方式
格式: [expression for iter_val in iterable] 

# 列表中的每一项取平方li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
li2 = [i**2 for i in li]print('li2 = %s' % li2)# 输出:li2 = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]# 只有大于5的数才取平方。表达式也可以是if语句li = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
li2 = [i**2 if i > 5 else i for i in li]print('li2 = %s' % li2)# 输出:li2 = [0, 1, 2, 3, 4, 5, 36, 49, 64, 81]

格式: [expr for iter_var in iterable if cond_expr] 
# 只取非None的元素li = [0, 1, 2, 3, 4, 5, None, 6, 7, 8, 9]
li2 = [i for i in li if i is not None]print('li2 = %s' % li2)# 输出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
格式: [expr for iter_var in iterable for var in iter_var] 
# 展开一个二维列表li = [[0, 1, 2], [3, 4, 5, 6], [7, 8, 9]]
li2 = [j for i in li for j in i]print('li2 = %s' % li2)# 输出:li2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

连接列表中的元素(join)
li = ['aaa', 'bbb', 'ccc', 'ddd']
li2 = ', '.join(li)print('li2 = %s' % li2)# 输出:li2 = aaa, bbb, ccc, ddd


最后说一下,一直坚持原创,希望大家多多支持。你的鼓励就是我坚持的动力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值