Python学习
我的大名王二狗
机器人算法,行为规划,人工智能,嵌入式,深度强化学习,ros,ubuntu,Linux
展开
-
【Python自学笔记】(二)如何跨文件调用全局变量
Python中,global定义的全局变量只能在同一个文件中使用,当在一个工程中跨文件调用时,就不行了。 如何跨文件调用全局变量呢? 可以在工程中,定义一个全局变量管理文件 globalvar.py,然后把该文件import进去。globalvar.py#globalvar.py#!/usr/bin/python# -*- coding: utf-8 -*...原创 2019-03-13 22:39:11 · 8014 阅读 · 6 评论 -
【Leetcode刷题篇】(六)移除元素
题目:https://leetcode-cn.com/problems/remove-element/submissions/给定一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素...原创 2019-03-19 11:37:07 · 189 阅读 · 0 评论 -
【数据结构与算法】(七)异或法
定义: 异或是基于二进制的位运算,用符号XOR或者^表示,对符号两边的数的二进制进行运算,相同为0,不同为1。简单理解就是不进位加法。性质:(1)交换律 : a^b = b^a(2)结合律 : a^b^c = a^(b^c)(3)x^x = 0 x^0 = x(4)自反性:a^b^b = a (最重要的性质)(5)如果a^b =...原创 2019-07-05 16:46:30 · 1890 阅读 · 1 评论 -
【数据结构与算法】(六)快慢指针法
用途一:查找链表中间节点示例: head->1->2->3->4->5->6->7->None 结果:中间节点为4方法: 定义两个指针,一个快指针,一个慢指针,当快指针遍历到尾节点的时候,慢指针刚好遍历到中间的节点。 当节点个数为奇数时,中间节点只有一个,当节点个数为偶数时,慢指针指...原创 2019-06-25 10:28:30 · 2887 阅读 · 4 评论 -
【python自学笔记】(五)yield+next的用法
Python中的生成器类似于函数,除了不返回值并退出进程,生成器将暂停进程,保存下一次的状态。从代码角度来看,函数和生成器之间的最大区别是一个词:return更改为yield。 处理非常大的数据集合时,生成器变得非常有用,您不希望一次性存储在内存中。它对于处理极大甚至无限的系列也非常有用。 下面是如何使用生成器打印偶数的示例。一次打印所有偶数将花费无限...原创 2019-06-11 16:22:22 · 4222 阅读 · 0 评论 -
【Leetcode刷题篇】(十)两数相加(链表表示)
题目:https://leetcode-cn.com/problems/add-two-numbers/给出两个非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0开头。示例:输入:(...原创 2019-06-11 15:04:07 · 275 阅读 · 0 评论 -
【python自学笔记】(七)__slots__的作用
__slots__: 在Python中,每个类都有实例属性。默认情况下Python用一个字典来保存一个对象的实例属性。 然而,对于有着已知属性的小类来说,它可能是个瓶颈。这个字典浪费了很多内存。Python不能在对象创建时直接分配一个固定量的内存来保存所有的属性。因此如果你创建许多对象(我指的是成千上万个),它会消耗掉很多内存。不过还是有一个方法来规避这个问...转载 2019-06-16 17:22:35 · 2693 阅读 · 0 评论 -
【数据结构与算法】(五)链表转列表
def LtoL(linkedNode): l=[] while linkedNode: l.append(linkedNode.val) linkedNode= linkedNode.next return l[: : -1] //反转输出 关于列表的下标:b = a[i:j:...原创 2019-06-11 09:45:12 · 2491 阅读 · 0 评论 -
【Leetcode刷题总结】(一)链表逆序
题目: 给定一个带头的链表,将其逆序输出。示例: 输入: head->1->2->3->4->None 输出: head->4->3->2->1->None 方法一:就地逆序 【注意】:1 链表的使用,只需要给出head节点就可以...原创 2019-07-28 21:42:38 · 531 阅读 · 0 评论 -
【python自学笔记】(六)Python列表内置函数
列表: 列表是Python最长用的一种数组类(连续空间存储)的数据结构。数组类包括列表(list),元组(tuple),字典(dict)以及字符串(str),以上数组类数据结构都可以用[ ] 返回其元素的索引。列表常用内置函数:list.append(x) 把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]。 list.extend(L...原创 2019-06-14 16:10:55 · 284 阅读 · 0 评论 -
数据结构与算法(三) 栈
1 定义 栈(STACK)是一种数据结构,栈中的元素在插入和删除时遵循后进先出(last in first output)(LIFO)原则。2 应用场景 很多情况下都需要用到栈,比如: (1)浏览器的最近浏览地址,就存在栈中,当你点击返回后,就退回到最近打开的地址页面。 (2)文本编辑器的撤销机制。 (3)最直观...原创 2019-04-19 11:36:36 · 233 阅读 · 0 评论 -
数据结构与算法(二)排序
1 插入排序 原理:从第二个元素开始,依次与前面的元素进行比较,如果第二个元素比前面的元素大,就不动,如果第二个元素比第一个元素小,就把第二个元素插入到第一个元素前面。依次从第二个元素一直到最后一个元素,进行同样的操作。 从原理上说,插入排序的速度受数列本身顺序影响大,如果数列本身已经排好序或者基本完成排序,则运行时间为O(n),如果数列初始化为反序,此时运行时...原创 2019-04-18 16:05:53 · 114 阅读 · 0 评论 -
【Python自学笔记】(三)类,继承
1 名字以一个下划线开头,表示受保护成员(protected)按照约定,名字带下划线,表示其为非公有成员,比如 _balance(余额)。想要获取非公有成员的值,需要通过预先定义好的函数,比如 get_balance() ,定义如下:class ID_Card def __init__(self) self._balance = 0 def get_b...原创 2019-04-09 17:05:52 · 150 阅读 · 0 评论 -
数据结构与算法(一)递归
释义 递归就是函数自己调用自己,举个例子就是俄罗斯套娃。用途 递归提供了执行迭代任务的优雅并且强大的解决方案。要点 递归分为两部分,一部分是递归条件的定义,另一部分是终止条件的定义,在俄罗斯套娃中,递归条件就是空心的套娃内部含有套娃,而终止条件就是实心的套娃。分类 递归分为线性递归(每个递归调用一次自己),两路递归(每个递归中调用两次...原创 2019-04-16 10:49:55 · 421 阅读 · 0 评论 -
【Python自学笔记】(一)if __name__ == '__main__'
if __name__ == '__main__'的意思是:当.py文件被直接运行时,if __name__ == '__main__'之下的代码块将被运行;当.py文件以模块形式被导入时,if __name__ == '__main__'之下的代码块不被运行。...原创 2019-03-16 13:20:39 · 128 阅读 · 0 评论 -
【Leetcode刷题篇】(一)两数之和
题目:给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。https://leetcode-cn.com/problems/two-sum/description/示例:给定 nums = [2, 7, 11, 15], target = 9因为 ...原创 2018-12-04 16:35:18 · 210 阅读 · 0 评论