- 博客(11)
- 收藏
- 关注
原创 20. Valid Parentheses
Leetcode 20. Valid Parentheses分类:string stack利用栈和字典,注意好遍历时的三种情况,如果是左括号,则压入栈中,如果是右括号注意先判断是否为空栈。最后检查栈是否为空。from collections import dequeclass Solution: def isValid(self, s: str) -> bool: ...
2019-10-10 16:57:18
215
原创 14. Longest Common Prefix (最长公共前缀)
Leetcode 14. Longest Common Prefix分类 string两个思路一:利用zip函数将字符串数组合并,得到的第一个值就为所有字符串首字母的组合,第二个值则为第二个字母的组合,当利用set函数发现有组合中有不同的字符时则说明已找到最长前缀。当遍历结束后发现都符合,则返回最短的那个字符串就好了。class Solution: def longestCommo...
2019-10-10 16:21:37
520
原创 13. Roman to Integer (罗马数字转整数)
遍历输入的字符串,记录遍历的前一个值,如果当前值不超过前一个值,则直接将结果增加当前值,否则增加当前值后要减掉2倍的前一个值。例如XIV,结果从10->10+1->11+5-2->14class Solution: def romanToInt(self, s: str) -> int: roman_map = {'I': 1, 'V': 5, ...
2019-10-10 15:39:05
231
原创 Python3 协程(Coroutines)
协程与生成器相比,协程中也运用到了yield关键字,但具备比生成器更多的功能。协程的基本用法下面通过一个例子描述协程的基本用法。def simple_coro(a): print('started: a = ', a) b = yield a print('recieved: b = ', b) c = yield a + b print('rece...
2018-12-10 16:06:04
1149
原创 Python3装饰器
介绍Python中的装饰器是一种可调用的对象(它可以是函数、或类),它将被装饰对象(函数、或类)作为参数传入,再经过执行所需要的处理后,返回另一个可调用对象。函数装饰器本节介绍常见的用一个函数装饰器,装饰另一个函数的情况。装饰器的功能为修改、加工被装饰函数的功能,为了解装饰器的简单原理,我们一步步描述如何修饰函数对象。函数赋值Python中函数也是一种对象,它可以赋值给变量。de...
2018-11-26 10:20:23
589
原创 Python3元类的多重继承
介绍我们可以通过为类定义元类的方式控制对类本身的创建,有关元类的基本介绍可以参考Python3元类。在Python3的标准库中有一些使用元类的情况,例如abc模块中的ABC类的元类是ABCMeta。我们可以通过继承ABC类或是指定元类为ABCMeta的方式来自定义类,使该类具有抽象类的特征。例如以下代码:import abcclass AbstractCls(metaclass=abc....
2018-11-24 10:34:20
1752
原创 Python3中的命名绑定、解析与函数闭包
变量作用域local与global当我们定义了一个函数,函数的参数、函数中声明的变量都是在该函数的local作用域中。def hello(a): b = 2 print(locals()) print(a, b)hello(1)""" output{'b': 2, 'a': 1}1 2""&a
2018-11-06 23:19:38
762
原创 Python3元类
介绍元类是类的类对象,换言之类是元类的实例,Python中默认的元类为type,可以通过自定义元类的方式实现对类创建的控制。类对象的创建顺序class Base: a = 1 b = 2 print('class defined') def __new__(cls, *args, **kwargs): print(cls.__name__,...
2018-10-28 20:47:43
2544
3
原创 Python3标准库built-in、itertools、functools中的生成器
介绍Python3中实现了很多生成器函数,本篇主要介绍built-in、itertools、functools中的生成器。过滤器生成器本类生成器将iterable对象作为参数,在不改变该iterable对象的条件下,生成iterable子集。filter(predicate, iterable)iterable的每一个元素会传入predicate函数中判断是否为True,该生成器会返回...
2018-10-11 14:45:40
306
原创 Python3中的迭代器和生成器
可迭代的(iterable)python标准库中存在着许多可迭代对象,例如:list, tuple, dict, set, str等.编译器若想迭代一个对象a,则会自动调用iter(x)获取该对象的迭代器(iterator)....
2018-10-09 11:14:19
627
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人