Python Cookbook学习总结

2023-05-16

第一章:数据结构和算法

  1. 任何序列(可迭代的对象)都可以通过一个简单的赋值操作来分解为单独的变量,唯一的要求是变量的总数和结构要与序列相吻合。(比如对于存储二维坐标等的二维数组,可以通过for x,y in range()操作分别取其x,y坐标)

例:data=[‘ACM’,50,50.11,(2012,12,12)]

name,shares,price,date=data

print (name)

  1. 当可迭代的对象长度较长,而我们只需要取其中的N个元素时,可以使用“*表达式”解决此问题,如:

def drop_first_last(grades):

first,*middle,last=grades

return avg(middle)

其中以*开头的参数表示可以接收任意数量的位置参数的函数(元组形式),以**开头的参数表示可以 接收任意数量的关键字参数的函数(字典形式)。

  1. collections.deque的使用:指定maxlen时即为创建了一个固定长度的队列,不指定maxlen得到的为一个无界限的队列。

  1. lambda函数是一种可以在代码中内联定义的小型匿名函数,通常用于定义一个短小精悍的函数来实现某一特定的任务。语法形式如下:

lambda 参数列表: 表达式key=lambda s:s[‘price’]

  1. 优先级队列的实现:

使用到了堆(字典操作:item,key,value)

heapq.heappush(heap,item)

表示将item加入列表heap中,其中item一般为一个元组,根据元组中的第一个元素进行排序(从小到大的排序,即先输出小的值)。元组中可为(prioroty,index,item)形式,此时当prioroty值相等时,会比较索引值,即index。

(leetcode347.前k个高频元素)

  1. collections模块中的defaultdict类可以实现一个键映射到多个值上,OrderedDict类可以实现字典做迭代时,按照初始化添加的顺序进行(内部维护了一个双向链表)

  1. 反转字典的键值zip(prices.values(),prices.keys())

因为字典上执行数据操作只能处理键,而不是值,所以进行键值的反转可以简化很多问题。

  1. 字典中的键也支持常见的集合操作,如求并集、交集和差集等。

例:c={key:a[key] for key in a.keys()-{‘z’,’w’}}

  1. 可哈希的定义:不可变数据类型都是可哈希的,包括整数、浮点数、布尔值、字符串、元组等。可变数据类型都是不可哈希的,因为它们的值在创建后可以修改,这样会导致它们的哈希值变化。

  1. 对切片命名:slice函数,a=slice(2,4)

  1. 查找序列中元素出现的次数,collections中的Counter类,同时Counter可以执行数学运算操作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python Cookbook学习总结 的相关文章

  • PID、模糊PID、SkyHook、LQR、H2/H∞、ADRC等悬架控制合集

    罗列一下现成的悬架模型以及应用的控制算法 xff1a PID 模糊PID SkyHook LQR H2 H ADRC等 xff0c 以及kalman观测器 xff1a 半车 前后 左右 整车悬架详细推导建模和simulink仿真分析 侧倾
  • 1086:角谷猜想(C C++)

    题目描述 谓角谷猜想 xff0c 是指对于任意一个正整数 xff0c 如果是奇数 xff0c 则乘3加1 xff0c 如果是偶数 xff0c 则除以2 xff0c 得到的结果再按照上述规则重复处理 xff0c 最终总能够得到1 如 xff0
  • 渗透测试工具之Metasploit Framework(MSF)

    一 Metasploit Framework xff08 MSF xff09 简介 Metasploit是当前信息安全与渗透测试领域最流行的术语 xff0c 它的出现颠覆了以往的已有的渗透测试的方式 几乎所有流行的操作系统都支持Metasp
  • Test Case Framework (TCF) 简介

    TCF is a system that simplifies the creation and execution of test cases automation for that matter with minimal setup e
  • 小菜鸡的第一天

    1 CPU分配 xff0c i5四核所以给Linux分配两个核 2 内存分配 xff0c 有16GB所以分配8个g 3 硬盘 xff0c 需要创立一个独立的分区 xff0c 最好300G以上 xff08 由于个人原因分配了60G xff09
  • 小菜鸡的第二天

    绝对路径 xff1a 以 开头 代表当前路径 xff0c 或者 代表上一级目录 xff0c 或者 插入U盘之后 xff0c 在 dev文件夹下输入 ls sd 可以看到U盘信息 xff0c 要想知道插入的U盘是哪个 xff0c 重新插拔再次
  • 小菜鸡的第三天

    压缩与解压 tar vcjf 43 文件名 tar bz2 xxx xxx是要压缩的文件名 压缩命令 tar vxjf 43 xxx tar bz2 xxx是要解压缩的文件名 解压缩命令 f xff1a 使用归档文件或ARCHIVE设备 c
  • 初级算法:判断数组是否存在重复元素

    qsort函数原型是 void qsort xff08 void base size t num size t width int cdecl compare const void const void xff09 4个参数 xff1a v
  • 初级算法:删除排序数组中的重复项

    因为数组是排序的 xff0c 只要是相同的肯定是挨着的 xff0c 我们只需要遍历所有数组 xff0c 然后前后两两比较 xff0c 如果有相同的就把后面的给删除 双指针解决 使用两个指针 xff0c 右指针始终往右移动 xff0c 如果右
  • 运算符重载

    加号运算符重载 作用 xff1a 实现两个自定义数据类型相加的运算 span class token keyword class span span class token class name Person span span class
  • .在python中的作用

    的作用 点把前后连起来 xff0c 构成一种索引机制 前面是库 后面是函数 ex xff1a pybullet setAdditionalSearchPath是指在pybullet的库中引用setAdditionalSearchPath这个
  • ROS服务通信(七)C++、Python实现

    目录 简介 理论模型 服务通信自定srv 创建srv 编辑配置文件 C 43 43 实现 vscode配置 服务端实现 客户端实现 优化 Python实现 服务端实现 客户端实现 简介 服务通信也是ROS中一种极其常用的通信模式 xff0c
  • ROS中的API:C++、Python(十)实现及理解

    目录 简介 C 43 43 初始化 话题与服务相关对象 回旋函数 ros xff1a xff1a spinOnce xff08 xff09 ros xff1a xff1a spin xff08 xff09 时间相关API 时刻 持续时间 持
  • ROS Gazebo安装入门及仿真室内环境和小车实现(十九)

    目录 安装 简介 URDF与Gazebo基本集成流程 创建功能包 编写URDF文件 启动Gazebo并显示模型 launch 文件实现 命令行启动 xff08 去掉launch中的第三行加载模型 xff09 集成到launch里启动 URD
  • Test Case Framework (TCF) tcf 参数

    root 64 embargo ww13 tcf help usage tcf h v log pid tid log time config file CONFIG FILE py p CONFIG PATH state path STA
  • 第一章操作系统引论测验错题整理(二)

    中断和特权级 计算机系统中判断是否有外部中断事件发生应该在 xff09 A 进程切换时 B 执行完一条指令后 C 执行一条指令过程中 D 由用户态转入内核态时 B 解析 xff1a 因果关系 xff0c 指令执行了才知道 从用户态到内核态的
  • 多旋翼飞行器设计与控制(三)—— 机架设计

    多旋翼飞行器设计与控制 xff08 三 xff09 机架设计 一 布局设计 1 机身基本布局 共有三种 xff1a 环型 43 字型 X字型 常用X字型 xff1a 机动性更强前视相机的视场角不容易被遮挡 环形的特点 xff1a 刚性更大避
  • 路径规划与轨迹优化 —— Dijkstra算法寻找最短路径

    一 算法思路 Dijkstra算法是一种用来寻找最短路径的算法 xff0c 其中涉及的思想有贪心 动态规划 广度优先搜索等 图中g n 代表的时代价 xff0c 在机器人路径规划中可以理解为距离 二 代码 源码来源于Github xff0c
  • VSCode远程连接免密登录

    配置了VSCode远程连接服务器 xff0c 但每次打开project都需要重新输入密码 xff0c 比较麻烦 xff0c 所以下面就介绍一下如何免密码登入 在上一篇blog里面配置好VSCode远程连接服务器之后按照如下操作 步骤如下 x
  • raspberry(树莓派)的简介及实验

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 树莓派是什么 xff1f 二 使用步骤 1 主要Pin脚的编号2 使用硬件3 连接树莓派Pin位4 使用代码实验 总结

随机推荐