iis服务器助手广告广告
返回顶部
  • 896
分享到

第一

2023-01-30 22:01:31 896人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

介绍:python3-cookbook这本书是高级用法,不是小白使用书目的:写作目的是记录下自己学习这本书的过程以及收获书籍地址:https://python3-cookbook.readthedocs.io/zh_CN/latest/

介绍:python3-cookbook这本书是高级用法,不是小白使用书
目的:写作目的是记录下自己学习这本书的过程以及收获
书籍地址:https://python3-cookbook.readthedocs.io/zh_CN/latest/index.html

1.1解压序列赋值给多个变量:

问题:现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量?

解决方案:通过一个简单的赋值语句解压并赋值给多个变量。 唯一的前提就是变量的数量必须跟序列元素的数量是一样的。

 

1.2解压可迭代对象赋值给多个变量:

问题:如果一个可迭代对象的元素个数超过变量个数时,会抛出一个 ValueError 。 那么怎样才能从这个可迭代对象中解压出 N 个元素出来?

解决方案:python 的星号表达式可以用来解决这个问题

 

1.3保留最后N个元素:

问题:在迭代操作或者其他操作的时候,怎样只保留最后有限几个元素的历史记录?

解决方案:collections.deque

deque 类可以被用在任何你只需要一个简单队列数据结构的场合

 

1.4查找最大或最小的N个元素:

问题:怎样从一个集合中获得最大或者最小的 N 个元素列表?

解决方案:heapq 模块有两个函数:nlargest() 和 nsmallest() 可以完美解决这个问题

 

1.5实现一个优先级队列:

问题:怎样实现一个按优先级排序的队列? 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素

解决方案:利用 heapq 模块实现了一个简单的优先级队列:

 

1.6字典中的键映射多个值:

问题:怎样实现一个键对应多个值的字典(也叫 multidict)?

解决方案:使用 collections 模块中的 defaultdict 来构造这样的字典。 defaultdict 的一个特征是它会自动初始化每个 key 刚开始对应的值,所以你只需要关注添加元素操作了

 

1.7字典排序:

问题:想创建一个字典,并且在迭代或序列化这个字典的时候能够控制元素的顺序。

解决方案:使用 collections 模块中的 OrderedDict 类

 

1.8字典的运算:

问题:怎样在数据字典中执行一些计算操作(比如求最小值、最大值、排序等等)?

解决方案:对字典值执行计算操作,通常需要使用 zip() 函数先将键和值反转过来,然后结合max(), min(), sorted()方法实现

 

1.9查找两字典的相同点:

问题:怎样在两个字典中寻寻找相同点(比如相同的键、相同的值等等)?

解决方案:在两字典的 keys() 或者 items() 方法返回结果上执行集合操作

 

1.10删除序列相同元素并保持顺序:

问题:怎样在一个序列上面保持元素顺序的同时消除重复的值?

解决方案:如果序列上的值都是 hashable 类型,那么可以很简单的利用集合或者生成器来解决这个问题。

 

1.11命名切片:

问题:如果你的程序包含了大量无法直视的硬编码切片,并且你想清理一下代码。

解决方案:内置的 slice() 函数创建了一个切片对象。所有使用切片的地方都可以使用切片对象

 

1.12序列中出现次数最多的元素:

问题:怎样找出一个序列中出现次数最多的元素呢?

解决方案:collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了答案。

 

1.13通过某个关键字排序一个字典列表:

问题:有一个字典列表,想根据某个或某几个字典字段来排序这个列表。

解决方案:通过使用 operator 模块的 itemgetter 函数,可以非常容易的排序这样的数据结构。

 

1.14排序只支持原生比较的对象:

问题:你想排序类型相同的对象,但是他们不支持原生的比较操作。

解决方案:内置的 sorted() 函数有一个关键字参数 key ,可以传入一个 callable 对象给它, 这个 callable对象对每个传入的对象返回一个值,这个值会被 sorted 用来排序这些对象。

 

1.15通过某个字段将记录分组:

问题:你有一个字典或者实例的序列,然后你想根据某个特定的字段比如 date 来分组迭代访问。

解决方案:itertools.groupby() 函数对于这样的数据分组操作非常实用。 

 

1.16过滤序列元素:

问题:你有一个数据序列,想利用一些规则从中提取出需要的值或者是缩短序列

解决方案:使用列表推导、使用生成器表达式迭代产生过滤的元素

 

1.17从字典中提取子集:

问题:你想构造一个字典,它是另外一个字典的子集。

解决方案:字典推导、通过创建一个元组序列然后把它传给 dict() 函数也能实现

 

1.18映射名称到序列元素:

问题:你有一段通过下标访问列表或者元组中元素的代码,但是这样有时候会使得你的代码难以阅读, 于是你想通过名称来访问元素。

解决方案:collections.namedtuple() 函数通过使用一个普通的元组对象来帮你解决这个问题

 

1.19转换并同时计算数据:

问题:你需要在数据序列上执行聚集函数(比如 sum() , min() , max() ), 但是首先你需要先转换或者过滤数据

解决方案:一个非常优雅的方式去结合数据计算与转换就是使用一个生成器表达式参数。 

 

1.20合并多个字典和映射:

问题:现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作, 比如查找值或者检查某些键是否存在。

解决方案:使用 collections 模块中的 ChainMap 类。一个 ChainMap 接受多个字典并将它们在逻辑上变为一个字典。

--结束END--

本文标题: 第一

本文链接: https://www.lsjlt.com/news/179455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 第一
    介绍:python3-cookbook这本书是高级用法,不是小白使用书目的:写作目的是记录下自己学习这本书的过程以及收获书籍地址:https://python3-cookbook.readthedocs.io/zh_CN/latest/...
    99+
    2023-01-30
  • openCV第一篇
    文章目录 前言:计算机眼中的图片  1. 图片的读取与显示 1.1 图片的读取  1.2 显示的图片 1.2.1 显示原始图片  1.2.2 灰度图 1.3 BGR转换成灰度图、RGB 2. 保存图片 3. 视频的读取与显示 4. 截取图像...
    99+
    2023-09-11
    opencv 计算机视觉 python
  • 第一天MySQL
    MySQL学习笔记   2020/5/4 一、 数据库的相关概念 数据库的好处 1   能够永久性的保存数据,实现数据持久化 2   可以实现结构化查询,方便管理   2.数据库相关概念 1数据库(DB->database):...
    99+
    2020-05-20
    第一天MySQL
  • 第一篇python
    1、CentOS Linux release 7.2.1511 (Core) 升级python2.7.5到3.6.12、wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tg...
    99+
    2023-01-31
    第一篇 python
  • Python第一节
    一、基础编程语言介绍什么是编程?      个人理解编程的意思就是:编程就是使用一种程序设计语言编写程序代码,让计算机解决某个问题的过程。编程语言的种类1、机器语言:机器语言是一种指令集的体系。这种指令集,称机器码(machine code...
    99+
    2023-01-31
    Python
  • Docker-第一课
    1.概述Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议。Docker可以让开发者打包应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上。Docker的理念:Build, Ship...
    99+
    2023-06-04
  • 第一篇 第四节 python2和p
       电脑同时安装了python2和python3,那么怎样才能自由的使用自己想用的解释器,而不是卸载掉其中一个,才可以使用,由于之前第一篇第二节已介绍过python3.6.5的安装以及环境变量的配置,那python2安装的方法步骤也类似...
    99+
    2023-01-31
    第四节 第一篇
  • python第十一课
    一、Cluster概念1、系统扩展方式:Scale UP:向上扩展,增强Scale Out:向外扩展,增加设备,调度分配问题,Cluster2、Cluster:集群,为解决某个特定问题将多台计算机组合起来形成的单个系统3、Linux Clu...
    99+
    2023-01-31
    第十一课 python
  • 第一篇随笔
    1 #元类 2 class myType(type): 3 def __init__(self, obj_name, base_tuple, attr_dict): 4 print(self, obj...
    99+
    2023-01-30
    第一篇 随笔
  • CTF刷题第一周
    CTF刷题 前言[NISACTF 2022]easyssrf[鹤城杯 2021]EasyP[SWPUCTF 2021 新生赛]easy_sql[SWPUCTF 2021 新生赛]fakeran...
    99+
    2023-09-22
    php
  • python 第一次作业
    1.使用turtle换一个五环 2.设计这样一个程序:输入一个数字 判断它是不是一个质数 使用turtle换一个五环: >>> import turtle          #导入模块 >>> turtle.width(10)      ...
    99+
    2023-09-28
    python 开发语言
  • python爬虫第一天
    简介          1:组成:爬虫节点,控制节点和资源库。        控制节点,也叫中央控制器,主要负责根据url地址分配线程,并调用爬虫节点进行具体的爬行。        爬虫节点会按照具体的算法,对网页进行具体的爬行,主要...
    99+
    2023-01-30
    爬虫 python
  • 第一个 Django 应用
    1.1 新建项目 首先新建一个项目,名为 mysite,命令如下: django-admin startproject mysite # 或用 django-admin.py 运行成功,生成一些目录: mysite/ ...
    99+
    2023-01-30
    第一个 Django
  • headfirst python第一章初
    headfirst python这本书非常不错,但是很多人没耐心读,出的速记卡,有用的尽管下载headfirst python第一章初识python速记卡.rar原书下载HeadfirstPython.pdf...
    99+
    2023-01-31
    headfirst python
  • Linux入门第一讲
    计算机系统涉及了太多分支和商业纠葛, 这节课我们不纠结正统的问题, 只从涉及的概念上进行分类 Unix和linux Unix 最古老的现代计算机系统, 始于60年代. 从商业上来讲...
    99+
    2023-09-03
    linux 服务器 运维
  • 第一章_Android入门
    第一章_Android入门 1.Android开发环境的搭建 安卓的开发环境有两种 1)Android Studio 优点:是专业的安卓开发软件...
    99+
    2022-06-06
    Android
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其...
    99+
    2022-06-06
    Android
  • 第一次SQL注入
    第一次sql注入    1.在sqlmap文件安装目录下输入打开cmd,输入: sqlmap.py          2.      sqlmap.py -u url(url:目标地址) sqlmap.py -u http:/...
    99+
    2018-06-28
    第一次SQL注入 数据库入门 数据库基础教程 数据库 mysql
  • 第一小节总结:
    机器语言:   优点:     最底层,所以速度最快!   缺点:     最复杂,所以开发效率低!   汇编语言:   优点:     最底层,所以速度最快!   缺点:     最复杂,所以开发效率低! 高级语言:   1.编译类: ...
    99+
    2023-01-30
    小节
  • 第一天-python基础
      每一个今天的坚持都会改变明天的自己!       一.python介绍 python是一门由解释型、弱类型的高级开发编程语言,由龟叔于1989圣诞开发出,后经过二十多年的发展,因其简洁高效的特点而被广泛使用,在世界编程语言排行榜中也逐...
    99+
    2023-01-30
    基础 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作