- 博客(24)
- 收藏
- 关注
原创 python global与nonlocal关键字
学了这么久 python,今天做 leetcode 的一道题时,才第一次见到nonlocal关键字。nonlocal与global功能很相似。具体来说:global:声明该变量为全局变量nonlocal:声明该变量为外层变量(外层函数的局部变量,而且不能是全局变量)一首先了解下global的作用。比如下面的例子:def fun(): a += 2 a = 1fun...
2019-10-28 23:30:02
601
原创 函数内部修改外部全局变量,报错 UnboundLocalError: local variable 'a' referenced before assignment 的解决
一今天做 leetcode 时,发现一个问题,比如下面这种情况: 1 def fun(): 2 a += 2 3 a = 1 4 fun() 5 print(a)运行会报错:二但是联想到之前这种情况是可以运行的,不同的是全局变量为数组 9 def fun():10 a.append(2)11 a = [1]12 fun()13 print...
2019-08-19 20:50:11
721
原创 python for...else的使用
有时我们需要判断程序是正常退出循环(遍历完成),还是中途退出,据此来进行下面的不同操作。可能会加一个判断,比如下面的代码:a = [1, 2, 3, 4]flag = Truefor i in range(len(a)): if a[i] == 2: flag = False breakif flag: print('yes')else: print('no')用for...
2019-08-19 19:57:47
1153
原创 【笔记】Java
视频地址:Java入门第一季第1章 Java初体验1-1 Java简介1. 版本Java SE: standard Edition,标准版Java EE: Enterprise Edition,企业版Java ME: Micro Edition,移动版2. 重要概念JVM: Java Virtual MachineJDK: Java Development KitJRE: J...
2019-07-31 20:50:48
1519
原创 Tips (python)
字典的 key可以是这样的:dict[1,2] = 4,此时,key为一个元组貌似python中将元组作为默认的元素容器,未指定类型时默认创建元组(仅为个人猜想,待验证)...
2019-07-24 09:54:14
202
原创 解决nohup运行Python程序时不能正确重定向至文件的问题
有时候想通过 nohup 运行 Python 程序,但是发现 print 信息不会正确重定向到 nohup.out。解决:nohup python -u example.py
2019-06-26 16:27:12
819
原创 Notepad++ 替换 CRLF 为 LF
对于文件中每一行的结尾符号,Windows 下默认为 CRLF,而 Unix 下默认为 LF。 所以经常会有这样的情况发生:在 Windows 系统下编辑的文件放在 Unix 下不能正常执行,比如 bash 脚本。这时就需要将文件中的 CRLF 替换为 LF。首先,我们可以通过 View->Show Symbol->Show End Of Line 设置显示行结尾符号(还可以设置显示...
2019-05-18 21:09:45
21258
3
原创 tensorflow GPU版本的正确配置过程
首先声明:以下均为 Linux(Ubuntu 14.04)环境下,且采用 miniconda(anaconda也可以)进行安装之前配置过一次,虽然最终配好了,但是稀里糊涂的,尤其是CUDA、cudnn、tensorflow 三者版本的问题,之前的配置过程可以看这里。前几天到了新公司,又要配置了,折腾了半天终于算是搞明白应该怎么配置了。顺便提一下,感觉 tensorflow 官网的这个版本图不...
2019-04-13 22:44:13
1825
1
原创 leetcode 89.格雷编码 python java
格雷码生成公式:给定位数 n,i 从 0 取到 n2−1n^2-1n2−1gray(i) = i ^ (i / 2)如 n = 3: gray(0) = 0 ^ 0 = 000 ^ 000 = 000 gray(1) = 1 ^ 0 = 001 ^ 000 = 001gray(2) = 2 ^ 1 = 010 ^ 001 = 011 gray(3) = 3 ^ 1 = 011 ^ 0...
2019-04-03 16:10:13
336
原创 (python web) django踩坑记录
1、进行post请求时出现 403 forbidden 原因:跨站请求保护机制(CSRF) 解决:在视图文件(views.py)中请求post的函数前加入csrf_exempt装饰器,如下:from django.shortcuts import renderfrom django.views.decorators.csrf import csrf_exempt # 首先导入必要模块...
2019-03-26 09:02:46
333
原创 一个有趣的python用法:FizzBuzz问题
今天看到了一个非常有趣的问题,用python解决起来非常简洁。问题描述:写一个程序,打印数字1到100,3的倍数打印“Fizz”来替换这个数,5的倍数打印“Buzz”,对于既是3的倍数又是5的倍数的数字打印“FizzBuzz”。python解决方案:for x in range(1, 101): print('fizz'[x%3*len('fizz')::] + 'buzz'[...
2019-03-22 17:09:14
1629
原创 python sorted()函数的key参数
一、首先介绍下sort()与sorted()的区别:1、sort() 是 list 的方法,只有 list 能用,而sorted() 是内置函数,可以对所有可迭代的对象进行排序操作;2、list 的 sort() 方法是原地操作,无返回值,而内置函数 sorted() 方法是返回一个新的 list。二、sorted() 的用法语法:sorted(iterable, key=None, r...
2019-03-20 11:22:44
6818
原创 python 位运算实现加减乘除四则运算
写在前面:加法在测试时遇到了一个问题,用python在算-4+8时,会无限循环我打印了每一次的sum和carry,原来是carry会越来越大到后面会非常大但是我试了下C++发现是可以计算的,它溢出后会变成4+01、加法def add(a, b): # 递归 if b==0: return a sum = a ^ b # 异或得到两数之和 ...
2019-03-17 15:57:48
6871
5
原创 python中遍历列表的两种方式的异同
python中遍历列表的方式有两种,一种是for num in nums:,另一种是for i in range(len(nums)):。正常情况下使用没什么区别,但是如果在遍历过程中涉及到移除数组元素的操作时,发现了区别。如下:nums = [0,1,2,2,3,0,4,2]print('这是直接遍历列表,nums初始为:', nums)for num in nums: print...
2019-03-09 23:26:45
3292
2
原创 python实现二叉树的构造与七种遍历方法
总结了用python实现二叉树的: 树的构造(添加节点) 前序遍历(递归与非递归) 中序遍历(递归与非递归) 后序遍历(递归与非递归) 层次遍历其中前、中、后序遍历均为深度优先(DFS),层次遍历为广度优先(BFS)'''节点类'''class TreeNode: def __init__(self, x): self.val = x ...
2019-03-08 10:33:46
548
原创 python 排序算法
1、冒泡排序def bubbleSort(nums): for i in range(len(nums)-1): #只需进行length-1轮 for j in range(len(nums)-i-1): #后面i个已经排好序 if nums[j]>nums[j+1]: nums[j], nums[j+1] = nums[j+1], nums[j] return ...
2019-03-07 11:58:22
257
原创 从源码求证tensorflow中os.environ["TF_CPP_MIN_LOG_LEVEL"]的值的含义
看代码时遇到了os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'这样一句话,于是开始百度,是设置log输出信息的,也就是程序运行时系统打印的信息。 但是发现有两种答案:一种是这样说的还有一种是这样说的… …一脸懵逼
2018-12-27 11:10:21
29597
13
原创 关于tensorflow中os.environ环境变量的设置
本帖旨在记录自己平时遇到的各种关于os.environ的设置,不定期更新 0.使用方法:设置环境变量,自然是要放在代码最前面的(但是要先导入os包)。例如下面:import osos.environ["CUDA_VISIBLE_DEVICES"] = "2"&a
2018-12-27 10:20:36
5377
转载 python链表:从链表中删除项目
class Node: def __init__(self, data=None): self.data = data self.next = Noneclass SLinkedList: def __init__(self): self.head = None def Atbegining(self, data_in)...
2018-10-30 09:46:20
595
原创 图像中某一像素位置在不同场景下的索引方式
之前就出过一次这个bug,今天又犯了同样的错误,所以记录下。对于一张图片,假设像素为4*3,它是这个样子的(方框内为像素值):一般我们会把它转换成二维数组进行处理对吧,这里就要注意了:转为数组后,数组的shape是(3,4)...
2018-10-11 11:08:07
2001
原创 numpy中a[][][] 和 a[, , ]两种索引方式的区别
之前一直对a[][][] 和 a[, , ]两种索引方式的区别不清楚,今天试验了一下。根据三个维度分别是:还是数字,共2^3^ =8种情况进行了实验。1、a[:][:][:] 与 a[:, :, :](等价于a[:]), a[1][0][2] 与 a[1, 0, 2]# -*- coding: utf-8 -*-import numpy as npa = np.arange(24).r...
2018-09-21 14:39:27
3436
原创 Linux上后台同时运行多个程序
因为需要进行神经网络的参数搜索,需要在服务器上同时运行多个程序。编写测试程序:vim a.pyvim b.py查阅到以下方法:1、vim c.py结果这是顺序执行的,不是并行2、vim total权限改为可执行chmod +x total结果还是顺序,只是写成了bash脚本3、正解:命令后面加&(1)其实就是在Linux里执行命令时,后面加&amp...
2018-09-19 16:39:31
27412
2
原创 记一次服务器上配置GPU版本tensorflow的经历
记一次服务器上配置GPU版本tensorflow的经历早就耳闻tensorflow-gpu与CUDA,cudnn三者之间版本匹配很复杂,今天算是见识到了。
2018-09-19 15:48:12
2939
3
转载 [转] leetcode 21.合并两个有序链表 Merge Two Sorted Lists(Python)
[转] leetcode 21.合并两个有序链表 Merge Two Sorted Lists(Python)原作者地址本人小白,刷leetcode第一次遇到链表题,有点晕。网上找了很多解答,结果越看越晕[捂脸]。 直到看到了这位大神的代码,豁然开朗,且非常简洁,在此记录。代码如下:# Definition for singly-linked list.# class List...
2018-08-27 18:00:24
198
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人