![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 64
我是NeroZhang
容灾备份/二层转发/对象存储,就叫我老张吧
展开
-
python学习笔记--命名元组(Namedtuple)
通常,对一个列表或者元组的访问时通过下标或索引完成的,有时候我们会希望通过名称来访问某一位置的元素,减少对索引的依赖。当然我们可以选择字典结构,但字典往往需要更多的存储空间,这个时候我们可以选用命名元组(Namedtuple)。命名元组的使用如下:Subscriber=namedtuple('Subscriber',['name','age','addr','tel'])sub=Subs原创 2017-10-04 21:04:22 · 484 阅读 · 0 评论 -
Python format函数
Python字符串的format函数format()函数用来收集其后的位置参数和关键字段参数,并用他们的值填充字符串中的占位符。通常格式如下:'{pos or key : fill, align, sign, 0, width, .precision, type}'.format(para1...)整个花括号是一个占位符,冒号前的位置或者关键字用来定位format函数的参数,冒号后面用原创 2018-01-25 14:35:35 · 3489 阅读 · 0 评论 -
常用正则表达
1 . 校验密码强度密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 2. 校验中文字符串仅能是中文。^[\\u4e00-\\u9fa5]{0,}$ 3. 由数字、26个英文字母或下划线组成的字符串^\\w+$ 4. 校验E-Mail 地址同密码一样,下面是E-mail地址合规性的正则...转载 2018-03-05 17:04:09 · 331 阅读 · 0 评论 -
leetcode--52. N皇后 II
题目:52. N皇后 II链接:https://leetcode-cn.com/problems/n-queens-ii/description/求出N皇后的解的数量。似乎这个解的个数并没有什么计算公式,所以就把上一个题目改了一下。用的是dfs,记得以前看过一个高效的解法,但是给忘了。。。python:class Solution(object): ret = 0 def tota...原创 2018-06-12 20:36:38 · 595 阅读 · 2 评论 -
leetcode--51. N皇后
题目:51. N皇后链接:https://leetcode-cn.com/problems/n-queens/description/给出N皇后的所有解。还是用了DFS,怎么优化也给忘了,原地踏步。python:class Solution(object): def solveNQueens(self, n): """ :type n: int ...原创 2018-06-12 20:39:22 · 505 阅读 · 0 评论 -
leetcode--58. 最后一个单词的长度
题目:58. 最后一个单词的长度链接:https://leetcode-cn.com/problems/length-of-last-word/description/给出一个由空格和字母组成的字符串,返回这个字符串所包含的最后一个单词的长度。python:class Solution(object): def lengthOfLastWord(self, s): """...原创 2018-06-12 20:53:19 · 498 阅读 · 0 评论 -
leetcode--61. 旋转链表
题目:61. 旋转链表链接:https://leetcode-cn.com/problems/rotate-list/给定一个链表,将每个节点向右平移k个位置(k非负,尾节点补到开始位置),输出旋转后的链表。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NU...原创 2018-10-18 17:05:02 · 266 阅读 · 0 评论 -
leetcode--65. 有效数字
题目:65. 有效数字链接:https://leetcode-cn.com/problems/valid-number/验证给定的字符串是否为数字。例如:"0" => true" 0.1 " => true"abc" => false"1 a" => false"2e10" => true说明: 我们有意将问题陈述地比较模糊原创 2018-10-18 17:23:18 · 423 阅读 · 0 评论 -
leetcode--67. 二进制求和
题目:67. 二进制求和链接:https://leetcode-cn.com/problems/add-binary/给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101.原创 2018-10-18 17:33:53 · 318 阅读 · 0 评论 -
python学习笔记--循环
while循环lista=["hilary","mike",1,2,3,4,6.1,7,8]listb=[]listc=[]i=0while i<len(lista): if (i+1)&1==1: listb.append(lista[i]) else: listc.append(lista[i]) i+=1else:原创 2017-09-17 22:11:42 · 286 阅读 · 0 评论 -
python学习笔记--List
声明一个Listlista=["hilary","mike",1,2,3,4,6.1,7,8]print(lista)List(长度为n)的下标从左至右分别为[0,1,2...,n-1]从右至左分别为[-n,-(n-1)...,-3,-2,-1]对于lista而言,其对应的下标如下:["hilary","mike", 1, 2, 3, 4, 6.1原创 2017-09-16 21:31:13 · 357 阅读 · 0 评论 -
python学习笔记--random模块
random.sample()import randomlista=["hilary","mike",1,2,3,4,6.1,7,8]tuplea=('H','I','L','A','R','Y')str="ASDFGHJKL"# random.sample()#原型为random.sample(seq, k),即从指定序列随机选取k个元素组成一个新列表返回,不修改原有序列s1=r原创 2017-09-19 18:04:35 · 450 阅读 · 0 评论 -
python学习笔记--推导式(Comprehension)
列表推导式创建列表或者从已知列表中筛选数据,通常最简单的方法是使用列表推导式。例如创建一个自然数的平方的列表,可以这样写:lista=[n**2 for n in range(21)]print(lista) # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361原创 2017-10-04 19:03:38 · 628 阅读 · 0 评论 -
python学习笔记--易忘点1
input()input()返回类型为字符串,若想获取输入的整数或浮点数,可以用int()或者float()转换,如num=int(input())int范围在2.x中int类型为32位整数,范围在-2^31到2^31-1之间 超过32位的整数可以使用long类型 或者如下:from ctypes import c_longlong as LLnum=LL(2**31原创 2017-09-23 21:46:17 · 231 阅读 · 0 评论 -
python学习笔记--实用技巧之可迭代对象的元素分解
可迭代对象的元素分解使用*表达式可以快速解决此类问题,例如有整型列表lista,现需要去掉最高分和最低分之后求平均值,代码可以这样实现:lista=[12, 10, 8, 4, 6, 18, 14, 0, 16, 2]lista.sort()minn,*rec,maxn=listaprint(rec,sum(rec)/len(rec))# [2, 4, 6, 8, 10, 12,原创 2017-09-24 10:23:48 · 385 阅读 · 0 评论 -
python学习笔记--generator生成器
在代码中遇到了一个关键字yield,查yield遇到了generator生成器,查generator遇到了迭代。于是从后往前一点点看吧迭代iteration当我们建立了一个列表、元组或字符串时,我们能够逐个读取其中的内容,因此称之为可迭代对象。例如用列表生成式建立一个列表:lsta=[x**2 for x in range(10)]for x in lsta: print(x原创 2017-09-24 14:16:02 · 646 阅读 · 0 评论 -
python学习笔记--堆(heap)
1.heapq模块heapq模块中提供了一系列的堆(默认小根堆)操作,下面给出一些常用的方法:nums=[20, 38, 100, 50, 94, 22, 35, 38, 0, 80, 90, 69, 37]heap=[] # 建立空堆 由于堆是一个完全二叉树,完全二叉树的结点编号与列表下标存在一一对应的关系,因此本质上是一个列表for i in range(len(nums)):原创 2017-09-26 23:03:42 · 1140 阅读 · 0 评论 -
python学习笔记--二维矩阵的转置
python中如何交换一个矩阵的行和列呢?下面给出两种方法:列表推导:a=[[1,2,3,4,5],[6,7,8,9,0],[11,12,13,14,15]]# 列表推导aT=[ [row[col] for row in a] for col in range(len(a[0]))]print(aT) # [[1, 6, 11], [2, 7, 12], [3, 8, 13], [4原创 2017-09-27 23:10:35 · 4542 阅读 · 2 评论 -
python学习笔记--zip()和map()
zip函数zip([iterable1,iterable2,,,,])zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中下标对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(3.x版本返回一个生成器)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以实现unzip(解压),示例:原创 2017-09-28 22:46:48 · 987 阅读 · 0 评论 -
python学习笔记--Dictionary
代码中列出一些dict基本操作#创建字典#直接创建,如dicta={"name":'hilary','age':21,'address':'chengdu'}for x in range(7): dicta[chr(x+ord('A'))]=xprint(dicta) # {'name': 'hilary', 'age': 21, 'address': 'chengdu', '原创 2017-09-20 15:10:25 · 293 阅读 · 0 评论 -
leetcode--69. x 的平方根
题目:69. x 的平方根链接:https://leetcode-cn.com/problems/sqrtx/实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.828...原创 2018-10-18 17:47:48 · 417 阅读 · 0 评论