
Python
saltriver
You're On Your Own.
展开
-
Python的random
随机数生成是日常工作中经常使用的功能。下面简要介绍下Python的随机数生成标准库random。一、常用函数(1)生成0和1之间的浮点数,random()生成区间为[0,1)importrandomprint(random.random())输出结果:0.8092116913076974(2)生成a和b之间的整数,randint(a,b)生成区间为[a,b]原创 2016-08-21 23:37:55 · 16346 阅读 · 0 评论 -
numpy的random
在Python的random中,可以非常方便的生成随机数,但如果需要生成多种维度的随机数组或矩阵,那么就需要更好更强大的numpy的random。一、基本函数(1)随机生成包含N个元素的数组形式:random.random(N)形式:random.rand(N)形式:random.ranf(N)形式:random.sample(N)形式:random.random_sa原创 2016-08-26 22:38:43 · 2195 阅读 · 0 评论 -
Python如何在控制台显示进度条
我们在写一些python程序时,如果程序运行时间较长,我们希望能够有一个进度条来动态的展示程序运行进度。首先能想到的做法是用print将执行到第几步打印出来,但这样显然不是我们想要的进度条,显示进度占用了很多行,原因是print在末尾默认加上了”\n”换行符。详见《你应该知道的print》。我们对进度条的需求:一是进度信息在一行中显示;二是每次都能够动态擦除一行中上一次的内容。那么很自然的原创 2016-11-06 19:38:42 · 40605 阅读 · 2 评论 -
Python的enumerater
enumerate是python的内置函数,意思是枚举、列举,用于遍历序列中的元素以及它们的索引。遍历序列的方法大家用的很多,如对一个列表lst = ['a', 'b', 'c', 'd', 'e']进行遍历:for c in lst: print(c)有时候我们在遍历序列的过程中,还需要知道对应元素的索引值,可以采用如下的方法:for i in range(len(lst)原创 2016-10-01 22:46:52 · 887 阅读 · 0 评论 -
Python基本数据类型的注意事项
Python的数据类型主要有如下9种:bool:布尔型,True/Falseint:整数型,-1,0,1,2,3...float:浮点型,0.01,3.14,-2.234complex:复数型,1+2j,5+7jstr:字符串型,'abc','hello'tuple:元组,(1,2,3),("abc",1,3.14)list:列表,[1,2,3],["abc",1,3.原创 2016-10-17 23:14:35 · 5226 阅读 · 0 评论 -
matplotlib绘图蓝本
matplotlib是python最著名的绘图库,它提供了一整套API,用于进行图表绘制、数据显示,其图片输出质量达到了科技论文的印刷质量。但是,matplotlib绘制图表时,需要配置的东西比较多,每次查起来都比较麻烦,故而编写了一个蓝本,用于一般的绘图需要,稍加修改即可使用。原创 2016-10-30 22:39:09 · 758 阅读 · 0 评论 -
Python的浅拷贝和深拷贝
相对于其他传统编程语言,Python有一个比较奇怪的特性,即在复制对象时,有浅拷贝(shallow copy)和深拷贝(deep copy)两种方式。"翻译 2016-11-20 10:58:59 · 2862 阅读 · 0 评论 -
Python的字典
一、基本介绍在Python中,如果没有列表和字典是不可想象的。字典及其强有力的实现是使Python如此有效和出众的重要原因。本文将展示字典及其使用方法。翻译 2016-12-07 23:02:24 · 909 阅读 · 0 评论 -
python列表的append和extend
如何对python的列表进行元素扩充,有几个方法:append,extend,“+”。lst = [1, 2, 3, 4]lst.append(5)print(lst)输出:[1, 2, 3, 4, 5]如果添加2个元素呢?lst = [1, 2, 3, 4]lst.append(5, 6)print(lst)输出报错,append只能给列表添加一个值:TypeError: append()原创 2017-08-31 21:29:27 · 7088 阅读 · 0 评论 -
Python的生成器(generator)
如果函数要产生一系列结果,那么最简单的做法是把这些结果放在一份列表(list)中,并将其返回给函数调用者。例如我们要获得一份文本中每个单词的长度。def get_word(text): result = [] for i, letter in enumerate(text.split(' ')): result.append(len(letter)) retur原创 2017-09-30 18:12:49 · 3780 阅读 · 0 评论 -
Python的集合set
set是python中一个无序且无重复元素的数据结构。无序,是因为set采用了hash技术进行元素的存储;无重复元素,本身就是set区别其他数据结构的一个重要特点,也是set之间能够进行并,交,差等各种集合运算的基础。原创 2016-08-12 20:26:37 · 1126 阅读 · 0 评论 -
Python中如何修改字符串的值
Python中列表list中的值是可修改的,而元组和字符串的值是不可修改的。看下面的示例:string = 'abcdafg'string[4] = 'e'print(string)输出结果: string[4] = 'e'TypeError: 'str' object does not support item assignment 但在实际应用中,经常需要对字符串的值进行一些修改操作,解原创 2016-08-12 20:07:46 · 43822 阅读 · 0 评论 -
Python的操作符重载
在日常工作中,我们经常需要对自定义的类对象进行操作或比较,其实重载我们一直在用,__init__初始化函数就是最常用使用的重载函数。设我们定义了如下一个类,用来表示平面上的一个点。class point:def __init__(self, x, y):self.x = xself.y = y其中__init__函数就是一个最常用的重载函数,用来对类对象进行初始化。如果我们需要对不同的point进原创 2016-08-12 20:07:43 · 889 阅读 · 0 评论 -
Python几个简单好用的基础功能
Python是一门简洁、优雅的语言,希望你能在下面的代码片段中感受到。Python是一座宝库,而实践就是开启这座宝库的钥匙。(1)三元表达式看一个示例:if a >= 0: value = a + belse: value = a - b用Python的三元表达式是如下的写法:value = a + b if a >= 0 else a - b四行浓缩成了一行,更简洁。但需...原创 2016-08-12 20:07:15 · 1841 阅读 · 5 评论 -
Python的列表推导式
列表推导式是Python基础,好用,而又非常重要的功能,也是最受欢迎的Python特性之一,可以说掌握它是成为合格Python程序员的基本标准。本质上可以把列表推导式理解成一种集合了变换和筛选功能的函数,通过这个函数把一个列表转换成另一个列表。注意是另一个新列表,原列表保持不变。看示例:(1)对列表中的每项元素进行立方运算(变换功能)a = [1, 2, 3, 4, 5, 6, 7, 8, 9,原创 2016-08-12 20:07:18 · 5944 阅读 · 0 评论 -
Python的序列切片
Python提供了一种把序列切成小块的操作,称为切片(slice)操作,其本质是访问由序列中的某些元素所构成的子集。Python的序列数据结构都支持切片操作,如列表、元组、字符串等,切片操作可以说是日常应用中最常使用的Python特性之一。(1)基本写法sequence[start : end]sequence:表示序列,可以是列表、字符串、元组等;start:起始索引;end:结束索引。a =原创 2016-08-12 20:07:21 · 4273 阅读 · 1 评论 -
最长回文子串
回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。输入一个字符串Str(Str的长度 ,输出Str里最长回文子串的长度L。例如Str='daabaac',则子串'aabaa'是最长回文子串,因此输出L=5。题目可参考http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1088分析: 如果St原创 2016-08-12 20:07:24 · 1377 阅读 · 0 评论 -
Python的zip
zip是Python的一个内置函数,主要用于对多个序列中相对应的元素进行配对,并合并这些序列。 (1)基本用法看下面的例子:a = [1, 2, 3]b = [4, 5, 6]c = [7, 8, 9]print(list(zip(a, b, c)))输出结果:[(1, 4, 7), (2, 5, 8), (3, 6, 9)] zip分别将序列a,b,c中相对应的第1个、第原创 2016-08-12 20:07:26 · 1203 阅读 · 0 评论 -
完美字符串
字符串的完美度等于它里面所有字母的完美度之和。每个字母的完美度可以由你来分配,不同字母的完美度不同,分别对应一个1-26之间的整数。字母不分大小写,也就是说字母F和f的完美度相同。 给定一个字符串,输出它的最大可能的完美度。例如:dad,你可以将26分配给d,25分配给a,这样整个字符串完美度为77。题目参考:http://www.51nod.com/onlineJudge/quest原创 2016-08-12 20:07:29 · 1563 阅读 · 0 评论 -
Python的Lambda表达式
Python的 Lambda 表达式,本质上仍是一个函数。通常是在需要一个函数,但这个函数也许就用这一次,或者这个函数异常简单,于是不想去耗费时间精力定义一个函数的场合下使用。由于是没有名字的函数,所以lamba也通常叫匿名函数。 这种场景在实际应用中其实很常见:你在某处就真的只需要一个能做一件事情的函数而已,连它叫什么名字都无关紧要,Lambda 表达式就可以用来做这件事。原创 2016-08-12 20:07:32 · 1063 阅读 · 0 评论 -
你应该知道的print
print函数是每个学习Python的人接触的第一个函数,大家还记得写过的第一个程序吧:print("hello, world!"),这是每个人都掌握的基本函数,但你真的能熟练运用自如吗?看下面的例子: 示例1:输入一个整数N,输出高度为N-1的数字三角形,如N=5,输出:1223334444 分析:第一层是1个1,第二层是2个2,第三是三个3,规律是i个i。可以通过构原创 2016-08-12 20:07:35 · 1742 阅读 · 0 评论 -
Python的定时器
在实际应用中,我们经常需要使用定时器去触发一些事件。Python中通过线程实现定时器timer,其使用非常简单。看示例:import threadingdef fun_timer(): print('Hello Timer!')timer = threading.Timer(1, fun_timer)timer.start()输出结果:Hello Timer!Process finished原创 2016-08-12 20:07:37 · 144150 阅读 · 12 评论 -
Pandas的DataFrame输出截断和省略问题
我们看一个现象:import pandas as pdtitanic = pd.read_csv('titanic_data.csv')print(titanic.head())Titanic_data.csv是kaggle上的泰坦尼克数据集,通过pandas读入到一个dataframe中,我们看看其前5行记录。输出结果如下: 可以看到,记录被分成了3段截断输出,如果想在一行输出,该怎么办原创 2017-09-30 19:44:26 · 16003 阅读 · 1 评论