![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
喂鱼W_y
一枚小白,立志学好python!
展开
-
python:文件的相关操作
一、创建新文件,内容是abcdefg,每个字母占一行:f = open('f.txt', 'w')#r只读,w可写,a追加for i in 'abcdefg': f.write(str(i)+'\n')f.close()二、文件内容追加,从0到9的10个随机整数:import randomf = open('f.txt','a')for i in range(0,10): f转载 2017-02-17 21:01:27 · 241 阅读 · 0 评论 -
python 判断素数以及高效求n以内素数
1、判断是否是素数def isPrime(n): if n <==1: return False i = 2 while i * i <= n: if n % i == 0: return False i += 1 return True2、求n以内的素数 class...转载 2018-02-14 00:13:24 · 6047 阅读 · 0 评论 -
2018年2月Python随笔
1、在python中创建字典进行计数时,我们可以直接使用如下:dict[key] = dict.get(key, 0) + value而不需要事先判断key in dict.keys()这里的dict.get(key, 0)的意思是:如果key在keys中,则取值dict[key],否则取0.2、对于增加列表中的元素有如下三种方式:其中第二种速度最快。>>&g...原创 2018-02-13 00:14:10 · 168 阅读 · 0 评论 -
python实现 单链表
一、什么是链表?链表是一种动态数据结构,它是用一组任意的存储单位存放数据元素。链表中的每一个元素成为”结点”,每个结点都是由数据域和指针域组成。它与数组有如下不同点:数组需要预先定义大小,无法适应数据动态地增减,数据小于定义长度会浪费内存,超过则会无法插入。而链表是动态增删,可以随意增加。数组对于元素查找很方便,直接get索引即可。链表获取元素则需要从头开始寻找,但是对于增删元素,直接...转载 2018-02-14 14:55:21 · 344 阅读 · 0 评论 -
python实现 判断平衡二叉树
代码如下:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def isBa...转载 2018-03-02 18:33:15 · 2380 阅读 · 0 评论 -
leetcode395:至少有K个重复字符的最长子字符串
Example: Input: s = “ababbc”, k = 2 Output: 5 The longest substring is “ababb”, as ‘a’ is repeated 2 times and ‘b’ is repeated 3 times.code:class Solution: def longestSubstr...翻译 2018-03-06 12:49:09 · 1177 阅读 · 0 评论 -
python实现二叉树的先中序或中后序转换
1、已知二叉树的先中序,求树的结构# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: ...转载 2018-03-06 14:11:58 · 759 阅读 · 0 评论 -
python随笔3月
1、用位运算实现两个数的交换In [1]: x, y = 1, 2In [2]: x, y = y, x # python 可以直接交换In [3]: print('x={0},y={1}'.format(x,y))out: x=2,y=1In [4]: x = x ^ y # 利用位运算In [5]: y = x ^ yIn [6]: x = x ^ yIn [7]: pr...原创 2018-03-24 19:54:43 · 213 阅读 · 0 评论 -
画小猪佩奇之python实现
最近社会猪可是火遍了大江南北 有大牛用代码花了一个,真的是人才啊用python的turtle库来画小猪佩奇。虽然看起来简单,但是需要耐心跟一定的画画功底。话不多说,上代码+注释版# coding:utf-8import turtle as tt.pensize(4) # 设置画笔的大小t.colormode(255) # 设置GBK颜色范围为0-255t.color((...转载 2018-06-06 18:21:14 · 2787 阅读 · 0 评论 -
[lintcode553] Bomb Enemy 炸弹人 python实现
题目描述 Given a 2D grid, each cell is either a wall ‘W’, an enemy ‘E’ or empty ‘0’ (the number zero), return the maximum enemies you can kill using one bomb. The bomb kills all the enemies in the same ...原创 2018-06-07 13:11:57 · 1462 阅读 · 0 评论 -
Python编程之Maximum Subarray II
Maximum Subarray II 给定一个数组,寻找两个连续不相交的子串,使其和最大。 比如: [1, 3, -1, 2, -1, 2],那么 [1, 3] 和 [2, -1, 2] 或 [1, 3, -1, 2] 和 [2]都有最大的和7。思路是分层两段,左边和右边分别计算max subarray,然后两边加起来最大的就是结果。def maxTwoSubArrays(n...原创 2018-06-26 17:31:43 · 478 阅读 · 0 评论 -
新手入门 | Python生成器深度详解
概览 1、生成器可以避免一次性生成整个列表 2、生成器函数的运行过程解析及状态保存 3、生成器表达式的使用方法我们知道列表生成式有很多优点,运行速度快、编写简单,但是它一次性生成整个列表,如果列表很大会对内存造成很大压力,为了实现内存的节约,可以将列表生成式转换为生成器表达式。1、避免一次性生成整个列表如何避免,简单来说式需要时才逐次产生结果,而不是一次产生所有结...转载 2018-07-19 17:12:58 · 182 阅读 · 0 评论 -
新手入门 | 理解Python中的yield
没有用过的东西,没有深刻理解的东西很难保证自己会,而且一旦被人问起就支支吾吾不知从何说起。这是很多新手学习Python过程中会遇到的问题(当然包括本菜鸟)。本文主要介绍一下python中的生成器和yield关键词。首先需要说明一下python中的迭代器(iterator)与生成器(constructor)。一、迭代器python中可以直接作用于for循环的对象,比如:列表、元祖、字典、...原创 2018-07-15 16:21:07 · 789 阅读 · 0 评论 -
python基础教程里的项目2:画幅好画
本项目介绍如何在python中创建图形,利用图形创建一个pdf文件,将文本文件数据可视化。 程序要求满足:1、从网上下载数据。2、分析数据并提取感兴趣的部分。3、根据数据生成PDF文件。 本文用到的工具包是ReportLab,首先安装(linux系统下): pip install reportlab待续。。。转载 2017-02-20 16:10:22 · 659 阅读 · 0 评论 -
python基础知识之常用函数
1、格式化字符串的函数str.format() 语法: 它通过{}和:来代替%。 “映射”示例>>>'{0},{1}'.format('kzc',18) 'kzc,18'>>>'{},{}'.format('kzc',18) 'kzc,18'>>>'{1},{0},{1}'.format('kzc',18) '18,kzc,18'2、getattr() getattr(object转载 2017-02-21 16:40:49 · 435 阅读 · 0 评论 -
python 实现 判断一棵树是另一棵的子集
给两棵非空的二分树s、t,判断t是否是s的一个子集。子集指的是:从s的某个结点开始,其下的结构与t完全相同。 Ex1:s: t: 3 4 / \ / \ 4 5 1 2 / \ 1 2 Output:TrueEx2:s: ...原创 2018-02-10 23:19:26 · 501 阅读 · 0 评论 -
python:字符串分割word-break
1、给定字符串s,列表t,其中的元素也是字符串,判断s是否可以分割成t中的一个或多个元素。例如:s='csdncode', t=['csdn','python','code'], output:True代码如下:def wordBreak(s, t): ok = [True] # ok[j] 表示:s[:j] 是否可以分割成t中的元素。 # 我们从s[0]开始进...原创 2018-02-12 14:26:02 · 1441 阅读 · 0 评论 -
python中的zip()函数详解
一、zip(*iterables)函数详解1、zip()函数的定义从参数中的多个迭代器取元素组合成一个新的迭代器返回:一个zip对象,其内部元素为元组;可以转化成列表或元组传入参数:元组、列表、字典等迭代器2、zip()函数的用法当zip()函数中只有一个参数时,zip(iterable)从迭代器中依次取一个元组,组成一个元组。# python 3# zip()函原创 2018-02-02 19:38:47 · 38041 阅读 · 3 评论 -
python之pandas库
1、导入库import pandas as pdfrom pandas import Series as srfrom pandas import DataFrame as df2、数据结构Series、DataFrame# Series 是一种类似一维数组的对像。obj = sr([4, 6, -3, 0]) # 生成Seriesobj.values # 获取Series值obj.ind转载 2017-12-15 18:17:13 · 331 阅读 · 0 评论 -
一个简单的对象模型
一个简单的对象模型1、简介 面向对象编程是如今一种非常重要的编程范式,许多语言都支持某些形式的面对对象。然而事实上不同的面对对象的编程语言具有许多相似之处。大多数语言的共同之处是对象的存在和某种继承机制。然而,类并不是每种语言都直接支持的特性。比如,在基于原型的语言 Self 或 JavaScript 类的概念不存在,对象直接从彼此继承。 理解不同对象模型的区别是十分有趣的。他们经翻译 2017-10-18 19:45:24 · 421 阅读 · 0 评论 -
元编程
一、给函数添加一个包装1、问题:我们想给函数加个包装层用来添加额外的处理,如:纪录日志、计时统计 2、可以定义一个装饰器函数,如下:import time from functools import wrapsdef timethis(func): @wraps(func) def wrapper(*args, **kwargs): start = time.ti翻译 2017-10-17 13:49:08 · 161 阅读 · 0 评论 -
判断两棵树一样
# Definition for a binary tree node.class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right =Noneclass Solution(object): def isSameTree(原创 2017-09-24 11:50:17 · 573 阅读 · 0 评论 -
python:关于栈的一些算法题
1、括号匹配问题def check_parens(A): parens="(){}[]" open_parens="{[(" opposites = {"}":"{", "]":"[", ")":"("} L=[] for pr in A: if pr in open_parens:原创 2017-09-24 11:44:18 · 587 阅读 · 0 评论 -
最长递增子序列个数
example 1 数组[1,3,5,4,7] 最长递增子序列有[1,3,5,7]与[1,3,4,7]两个长度为4的数组example 2 数组[2,2,2,2,3]最长递增子序列为[2,3],有4个使用dp算法,给定数组[nums],最长递增子序列长度: L(i) = max(L(j) + 1) if nums[j] < nums[i] for 1<=j < idef findNumbe原创 2017-09-23 16:00:46 · 339 阅读 · 0 评论 -
最长连续递增子序列
Given an unsorted array of integers, find the length of longest continuous increasing subsequence.Example 1Input: [1,3,5,4,7] Output: 3 Explanation: The longest continuous increasing subsequence is [原创 2017-09-23 11:31:42 · 436 阅读 · 0 评论 -
tile function
numpy.tile function【python】tile函数简单介绍格式:tile(A,reps) * A:array_like * 输入的array * reps:array_like * A沿各个维度重复的次数举例:A=[1,2] 1. tile(A,2) 结果:[1,2,1,2] 2. tile(A,(2,3)) 结果:[[1,2,1,2,1,2], [1转载 2017-05-05 14:56:14 · 277 阅读 · 0 评论 -
用pygame生成马赛克图片
from pygame import *from math import *screen = display.set_mode((580,870))m = image.load('liu.png')screen.blit(m,(0,0))mon = open('mona.py','w')mon.write("""from pygame import *from math import *s转载 2017-03-31 10:21:59 · 580 阅读 · 0 评论 -
爬虫入门实践 | 利用python爬取彩票中奖信息
系统环境:mac python版本:3.6.2(anaconda) 库:requests、BeautifulSoup爬取一些简单的静态网站,一般采取的策略为:选中目标,也就是需要爬取的网站url;观察结构,查看网页结构,联接结构;构思动手,选择Html下载器和解析器,最后存储数据。今天我们爬取对象是中彩网中3D彩票中奖信息。对应的URL为:http://kaijiang.zhcw...原创 2018-07-20 23:31:39 · 7687 阅读 · 5 评论