带你自学Python系列(六):列表解析和列表切片

↑ 点击上方【计算机视觉联盟】关注我们

今天是小编持续更新关于Python的知识总结以及Python实践项目应用的第6天,带你利用零碎时间自学最受欢迎的编程语言之一Python语言。你和小编一起打卡了吗?


列表解析

列表解析是将for循环和创建新元素的表达式的代码合并成一行,自动附件新元素。

如创建一个1-5的平方列表:

1square = [value**2 for value in range(1, 6)]
2print(square)

输出为:

分析上边例子可以得出:

  1. 列表解析,首先需要定义一个表达式,用于生成你要存储到列表中的值。此例中,表达式为:value**2

  2. 然后需要for循环,用于给表达式提供值。此例中,for循环为:

for value in range(1, 6)

总结:

列表解析可以简化我们的程序语言,在大型编程语言中尤其适用。

列表切片

切片需要两个参数:

第一个参数:第一个元素的索引,若省略,默认从列表第一个元素开始

第二个参数:最后一个元素的索引加1(因为其类似于range()函数,不包含第二个元素索引 。若省略,默认为最后一个元素索引加1

如果想要输出列表中的前三个元素,则需要制定索引[0:3] ,索引之间用冒号。定义一个切片的格式为:列表名[索引1:索引2]。

下边定义一个1-5的列表,然后用切片取出前三个数字1、2、3

1squares = list(range(1, 6))
2
3print('squares原始值为:', end=' ')
4print(squares)
5
6print('squares前三个元素为:', end=' ')
7print(squares[0:3])

输出为:

下边定义一个1-5的列表,然后用切片取出列表所有元素

1squares = list(range(1, 11))
2
3print('squares原始值为:', end=' ')
4print(squares)
5
6print('squares所有元素为:', end=' ')
7print(squares[:])  # 切片取出所有元素,省略索引

输出为:


遍历切片

遍历切片:在for循环中使用切片即可

下边定义一个1-10的列表,然后使用切片遍历前五个元素

1squares = list(range(1, 11))
2
3print('squares原始值为:', end=' ')
4print(squares)
5
6print('squares前五个元素为:', end=' ')
7for value in squares[0:5]:   # 切片遍历
8    print(value, end=' ')

输出为:



使用切片复制列表

复制列表,可以创建一个包含列表所有元素的切片,方法是同时省略起始索引和终止索引([:])

1squares = list(range(1, 11))
2
3print('squares原始值为:', end=' ')
4print(squares)
5
6# 使用切片复制squares列表
7numbers_squares = squares[:]
8print('numbers_squares所有元素为:', end=' ')
9print(numbers_squares)

输出为:

总结

列表切片可以帮助我们简单的实现遍历列表部分数据,同时也能够够非常容易地实现列表副本的复制

往期回顾

● 带你详细了解机器视觉竞赛—ILSVRC竞赛

● 到底什么是“机器学习”?机器学习有哪些基本概念?(简单易懂)

● 带你自学Python系列(一):变量和简单数据类型(附思维导图)

● 带你自学Python系列(二):Python列表总结-思维导图

● 2018年度最强的30个机器学习项目!

● 斯坦福李飞飞高徒Johnson博士论文: 组成式计算机视觉智能(附195页PDF)

● 一文详解计算机视觉的广泛应用:网络压缩、视觉问答、可视化、风格迁移


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值