python初步
yzl14
这个作者很懒,什么都没留下…
展开
-
用Python将gml文件中边的信息输出为csv(或者txt)格式
最近在做复杂网络方面的内容,初学python。需要将gml格式的图的信息中边的信息提取出来,输出为csv格式和txt格式。英文描述如下: Use python to convert the edge information stored in gml file to a new cvs file.代码如下:def gml2csv(gmlfile): """ This ...原创 2017-01-04 11:54:57 · 5299 阅读 · 0 评论 -
leetcode练习:设计循环队列, python实现
做这道题踩了几个坑。首先是要注意好逻辑结构,什么时候是空的,什么时候是非空的,什么时候enqueue和dequeue时要移动指针,什么时候不需要。其次是注意类内变量是要在__init__内定义,而不是在__init__外定义在__init__内初始化。最后是题目虽然说操作数在1-1000中间,但测试样例中有输入为0的情况,因此空位不能设置为0,最好设置为-1,这样front()和rea...原创 2019-09-08 09:53:37 · 447 阅读 · 0 评论 -
Leetcode练习:第 153 场周赛第二题:一周中的第几天
我假设我仅仅知道今日(2019年9月8日)为周日。python代码如下:闰年判断时的一个小bug让我没拿到分。class Solution(object): def isRun(self, year): if year % 400 == 0: return True if year % 4 == 0 and year %10...原创 2019-09-08 14:36:44 · 160 阅读 · 0 评论 -
Leetcode练习:墙与门,python解法,宽度优先遍历 BFS
题目:你被给定一个m × n的二维网格,网格中有以下三种可能的初始化值:-1表示墙或是障碍物0表示一扇门INF无限表示一个空的房间。然后,我们用231 - 1 = 2147483647代表INF。你可以认为通往门的距离总是于2147483647的。你要给每个空房间位上填上该房间到最近门的距离,如果无法到达门,则填INF即可。示例:给定二维网格:...原创 2019-09-09 22:16:52 · 641 阅读 · 0 评论 -
Linux解决pytorch下载安装过慢的问题:清华镜像源(转载)
step1:安装anacoda 下载地址bash Anaconda3-2018.12-Linux-x86_64.shstep2:按照官网的方法安装pytorchconda install pytorch torchvision cudatoolkit=10.0 -c pytorch在此期间你会发现特别的慢,慢也就算了主要它还老安装不成功,出现的错误见我的另一篇博客补充说明:在用...转载 2019-09-11 09:58:02 · 5732 阅读 · 2 评论 -
Leetcode练习:打开转盘锁,python实现
题目描述:你有一个带有四个圆形拨轮的转盘锁。每个拨轮都有10个数字: '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' 。每个拨轮可以自由旋转:例如把 '9' 变为'0','0' 变为 '9' 。每次旋转都只能旋转一个拨轮的一位数字。锁的初始数字为 '0000' ,一个代表四个拨轮的数字的字符串。列表 deadends 包含了一组死亡...原创 2019-09-13 11:32:46 · 534 阅读 · 0 评论 -
Leetcode练习:完全平方数,python实现
给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.来源:力扣(LeetCode)链接:https://leetcode-cn.com/...原创 2019-09-14 18:20:02 · 1228 阅读 · 0 评论 -
Leetcode练习:每日温度,python实现
题目描述:根据每日 气温 列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用0 来代替。例如,给定一个列表temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是[1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是[1, 30000...原创 2019-09-15 15:33:01 · 334 阅读 · 0 评论 -
Leetcode练习:逆波兰表达式求值,python实现
根据逆波兰表示法,求表达式的值。有效的运算符包括+,-,*,/。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例1:输入: ["2", "1", "+", "3", "*"]输出: 9解释: ((2 + 1) * 3) = 9示...原创 2019-09-15 16:25:43 · 446 阅读 · 0 评论 -
Leetcode练习:克隆图
题目:给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node])。示例:输入:{"$id":"1","neighbors":[{"$id":"2","neighbors":[{"$ref":"1"},{"$id":"3","neighbors":[{"$ref":"2"},{"$id":"4",...原创 2019-09-21 09:41:52 · 212 阅读 · 0 评论 -
python class 小错误
这两天总遇到莫名其妙的bug,今天发现是对python的class用法不熟练。class MovingAverage: def __init__(self, size: int): """ Initialize your data structure here. """ self.queue = [] ...原创 2019-09-08 09:11:08 · 300 阅读 · 0 评论 -
Leetcode练习:二叉树的序列化与反序列化
采用逐层遍历的方式。我的成绩:执行用时 :108 ms, 在所有 Python 提交中击败了98.83% 的用户内存消耗 :21.8 MB, 在所有 Python 提交中击败了36.72%的用户代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self,...原创 2019-09-06 19:44:43 · 218 阅读 · 0 评论 -
Leetcode练习:从中序与后序遍历序列构造二叉树,递归与迭代,python实现。
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = None# diguiclass Solution(objec...原创 2019-09-06 15:50:40 · 286 阅读 · 1 评论 -
使用spyder编译器单步调试python(转载配图)
本人初学python,最近主要在和igraph包打交道。使用的是anaconda的spyder编辑器。初学python,不知道如何进行断点调试,于是在csdn上找到了这篇文章。本来以为这只是个初学者才会遇到的低级问题,没想到博主suyunhe1993的这篇简短的教学文章竟也有三千多人访问,可见python初学者群体还是很庞大的。我在看这篇文章的时候苦于博主没有上传图片,但仔细实践发现没有图片指示也翻译 2016-12-31 11:43:03 · 13914 阅读 · 0 评论 -
python topk实现
def Topk(List, k, reverse = False): """ return the top k item in List and their indexes. If reverse, return the least k items """ List = list(List) if len(List) < k: ra...原创 2019-09-05 11:34:44 · 1443 阅读 · 0 评论 -
删去numpy array 中的全零行或列
首先求出全零行、列的index,放在index_list中。本例中全零行和全零列index相同,故index_list相同。由index_list构建一个一维的、长度等于array的行数或列数的bool array,使得要保留的行/列所对应的元素为True,要去掉的元素为False。之后通过如下代码删去不要的行或列。注意行列不能同时删除。# Used to filter out the al...原创 2019-09-05 14:27:36 · 12311 阅读 · 1 评论 -
Python 存、取文件时的路径+文件名问题
在使用python操作数据时,经常会涉及文件的读取和保存。有时候需要从别的目录下读取文件,或者将文件保存到别的目录。这个时候就需要在filename前加上文件的路径,但中间有时需要用'\'分隔,有时需要用'/'分隔,还有时需要用'\\'分隔,十分不方便,可移植性也很差。这时,应该采用os包的功能:import osfilename = os.path.join("folder1", "f...原创 2019-09-05 14:37:11 · 2827 阅读 · 0 评论 -
python 字符串.format()功能
有时输出字符串或用字符串给文件命名时,字符串中间常常会包含一些可选的数字或字符,比如:"save_file_1.txt""save_file_2.txt""save_file_normalized.txt"为了得到这样的字符串,一个做法是采用字符串的”+“功能:i = 1filename = "save_file_" + str(i) + ".txt"这样做既复杂又容...原创 2019-09-05 14:44:38 · 1952 阅读 · 0 评论 -
Leetcode练习:二叉树的前序遍历的递归和迭代实现方法,python实现
二叉树的前序遍历指:根->左子节点->右子节点,可以通过递归实现,也可以通过迭代实现。递归实现方法代码简单,复杂度高;迭代实现方法代码复杂,复杂度低。Leetcode上python代码如下:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# ...原创 2019-09-05 15:07:45 · 167 阅读 · 0 评论 -
Leetcode练习:二叉树的前序遍历的递归和迭代实现方法,python实现
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = None# diguiclass Solution(objec...原创 2019-09-05 17:04:19 · 356 阅读 · 0 评论 -
Leetcode联系:对称二叉树,python实现
采用迭代方法,按从左到右的节点一层层判断是否对称,如果对称则继续判断下一层,直到遇到不对称的点或没有下一层为止。每层从首位向中间遍历,如果两个节点都是Null,或者两个节点不是Null且值相同(注意子节点有可能不同),则为对称;否则为不对称跳出循环。这里有一个需要注意的点,就是如何处理Null节点。处理方法是:构建下一层时,仍然将Null当做节点放入列表;但不将Null的子节点放入列表。这...原创 2019-09-06 11:12:23 · 148 阅读 · 0 评论 -
Leetcode练习:从中序与后序遍历序列构造二叉树,递归与迭代,python实现。
如题,递归方法与迭代方法。两个关键点:一:后序遍历的最后一项是树的根节点,这个根节点在中序遍历的中间把中序遍历分成左子树和右子树两部分;二:同一个树中序遍历和后序遍历包含元素相同(顺序不同),通过中序遍历的分隔点返回后序遍历,找到左右子树的后序遍历。两点注意事项:一个是小心笔误;第二个是找到根节点后,到中序遍历中找到分隔点,这个分隔点同样是后序遍历的分隔点。举例来说:中序遍历: 【左子...原创 2019-09-06 15:25:20 · 263 阅读 · 0 评论 -
Leetcode 练习:目标和
题目描述:给定一个非负整数数组,a1, a2, ..., an, 和一个目标数,S。现在你有两个符号 + 和 -。对于数组中的任意一个整数,你都可以从 + 或 -中选择一个符号添加在前面。返回可以使最终数组和为目标数 S 的所有添加符号的方法数。示例 1:输入: nums: [1, 1, 1, 1, 1], S: 3输出: 5解释:-1+1+1+1+1 = 3+1-1+...原创 2019-09-21 10:35:04 · 362 阅读 · 0 评论