资讯专栏INFORMATION COLUMN

PythonCookbook笔记

oysun / 635人阅读

摘要:但是要注意变量的数量要和序列中元素的数量相等。可以用作为变量名,表示要丢弃的值。当序列特别长时,而我们又只需某一部分的话可以用来表示。也可以放到第一个位置,事实上可以放到任何位置,表示剩余的所有值。

写出更Pythonic的代码。 1. 将序列分解为多带带的变量,直接将序列赋值给变量即可。但是要注意:

变量的数量要和序列中元素的数量相等。

例子如下:

>>>x, y = (4,5)
>>>x
4
>>>y
5
>>>a,_,(c,d) = [1,2,(3,4)]
>>>a
1
>>>_
2
>>>c
3
>>>d
4

不只是元组与列表可以,任何可迭代对象都可以,包括字符串,文件,迭代器,生成器等。

可以用 _ 作为变量名,表示要丢弃的值。

2. 当序列特别长时,而我们又只需某一部分的话可以用 *arg来表示。

比如要取到序列中除去第一项和最后一项的值,求平均值。

 def drop_first_last(grades):
     first, *middle, last = grades
     return avg(middle)

*arg 也可以放到第一个位置,事实上可以放到任何位置,表示剩余的所有值。

3.从队列两端添加或弹出元素的复杂度为O(1),这和列表不同,当从列表头部插入或移除元素时,列表的复杂度为O(N).
>>>from collections import deque
>>>q = deque(1)
>>>q = deque(2)
>>>q = deque(3)
>>>q
deque([1,2,3])
>>>q.appendleft(4)
>>>q
deque([4,1,2,3])
>>>q.insert(0,8)#这种插入方法需要首先将列表中的所有元素向后移一个单位
4.找到最大或最小的N个元素

heapq 模块中有两个函数 nlargest()和nsmallest()

 import heapq
 nums = [1, 2, 5, 34, -5, 42, -9]
 print(heapq.nlargest(3,nums))# Prints [42,34,5]
 print(heapq.nsmallest(3,nums))#Prints [-9,-5,1]

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/38230.html

相关文章

  • 学Python说简单真的简单,说难也难,就由过来人给你总结为什么吧。

    摘要:数据科学其实就是机器学习,数据分析和数据可视化。机器学习通过实现算法,该算法能够自动检测输入中的模式。一般应用于人脸识别语音识别热门机器学习算法包括神经网络深度学习支持向量机随机森林进行数据分析可视化进行数据可视化时,是非常热门的库。 ...

    HtmlCssJs 评论0 收藏0
  • 大部分程序员都记不住的注解,Idea 云笔记却能轻松记住

    摘要:只因技术种类繁杂众多层出不穷,程序员只有靠不断的学习才能不落后于技术,被工作淘汰。特此推荐给大家。 99%的程序员每天都是先学习,后工作,不然完成不了工作。只因技术种类繁杂众多、层出不穷,程序员只有靠不断的学习才能不落后于技术,被工作淘汰。我就是这其中一员,深得体会其中的「疼并快乐」,在...

    ARGUS 评论0 收藏0
  • EverMonkey-VSCode上最好用的印象笔记插件

    摘要:配置在第一次使用小猿之前,需要配置印象笔记的开发者令牌。小猿在被激活后会执行一次这个命令,并且将以上内容缓存到内存中。建议与改进小猿是一个开源项目,欢迎广大印象笔记和的爱好者的反馈以及。 印象猿 印象猿(EverMonkey)是一款 VSCode 插件。使用小猿可以让你在 VSCode 中使用 Markdown 编辑,创建,更新印象笔记。 安装 打开 VSCode,在扩展商店中搜索 e...

    entner 评论0 收藏0
  • LocalNote,像使用本地文件一样使用印象笔记(支持 markdown 格式)

    摘要:让你能够像使用本地文件一样使用印象笔记。支持流行的格式的笔记,印象笔记中完美显示,上传重新下载笔记仍为格式。三平台支持,安装即用,在平台也流畅的使用印象笔记。在被限制期间登录也会受限,所以会提示尚未登录。 LocalNote showImg(https://badges.gitter.im/littlecodersh/LocalNote.svg); showImg(https://im...

    Galence 评论0 收藏0
  • Linux云计算高端架构师+DevOps高级虚拟化高级进阶视频

    摘要:课程大纲开班典礼开班典礼开班典礼操作系统系统安装及启动流程操作系统系统安装及启动流程必备命令讲解必备命令讲解必备命令讲解及系统启动流程必备命令讲解及系统启动流程启动流程和用户及用户组讲解启动流程和用户及用户组讲解用户权限讲解及编辑器用户权限 课程大纲1.开班典礼(1)_rec.mp42.开班典礼(2)_rec.mp43.开班典礼(3)_rec.flv4.Linux操作系统系统安装及启动...

    Cheng_Gang 评论0 收藏0

发表评论

0条评论

oysun

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<