python遇到的问题01
主函数调用
class Solution:
def generateParenthesis(self, n: int) :
result = []
self.back_tracking(n, result, 0, 0, "")
return result
def back_tracking(self, n, result, left, right, str):
if right > left:
return
if left == n and right == n:
result.append(str)
return
if left < n:
self.back_tracking(n, result, left + 1, right, str + "(")
if right < n:
self.back_tracking(n, result, left, right + 1, str + ")")
if __name__ == '__main__':
S = Solution()
print(S.generateParenthesis(4))
和类对其 在类里方法调用别的方法 需要加:self.method()
主函数 调用方法 首先先调用类 S = Solution() 才能调用方法
-
// 向负无穷方向取整
-
print(3//2) 1
-
-
判断变量是否为None的判断,有三种主要的写法: 第一种是 if x is None; 第二种是 if not x:;判断 (not x)是否为真 第三种是 if not x is None(这句这样理解更清晰 if not (x is None)) -
在LeetCode中,TreeNode是经常用到的一个结构体,表示数据结构树(Tree)中的一个节点。其官方定义如下: public class pyTreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } ———————————————— 版权声明:本文为CSDN博主「weixin_34230075」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_34230075/article/details/114210805 -
enumerate()方法
-
eq = ['one', 'two', 'three'] for i, element in enumerate(seq): print i, element 0 one 1 two 2 three -
deque() 双向队列
Python中的标准库collections中有一个deque,该对象与list列表相似。这里的“双向”指的是deuqe的结构使用双向链表,它提供了两端都可以操作的序列,这意味着,我们可以在序列前后都执行添加或删除。大多操作与List相同,如访问元素,求序列长度等,同样deque序列中的元素类型也不唯一。
具有队列和栈的性质。相当于可以在两端操作的list。
创建双向队列
import collections
d = collections.deque()
append(往右边添加一个元素)
import collections
d = collections.deque()
d.append(1)
d.append(2)
print(d)
#输出:deque([1, 2])
appendleft(往左边添加一个元素)
import collections
d = collections.deque()
d.append(1)
d.appendleft(2)
print(d)
#输出:deque([2, 1])
import collections
d = collections.deque([])
d.append('a') # 在最右边添加一个元素
d.appendleft('b') # 在最左边添加一个元素
d.extend(['c','d']) # 在最右边添加所有元素
d.extendleft(['e','f']) # 在最左边添加所有元素
d.pop() # 将最右边的元素取出
d.popleft() # 将最左边的元素取出
d.rotate(-2) # 向左旋转两个位置(正数则向右旋转)
d.count('a') # 队列中'a'的个数
d.remove('c') # 从队列中将'c'删除
d.reverse() # 将队列倒序
f=d.copy() # 复制队列
f.clear() # 清空队列
- float("inf")
# 正无穷
print(float("inf"))
print(float("inf")+1)
# 负无穷
print(float("-inf"))
print(float("-inf")+1)
- choice() 函数



-
range()参数
for i in range(3,20,3):#从3到19。隔3个一打印 list.append(i) print(list) [3, 6, 9, 12, 15, 18] -
<<. >>
print(1<<2)#乘以2的幂
4
print(8>>2)#除以2的幂
2
- reverse() 函数
对列表中的元素进行反序,即:list.reverse()
ans = [x for x in range(0,9)]
print(ans)
ans.reverse()
print(ans)
print(ans.reverse())
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[8, 7, 6, 5, 4, 3, 2, 1, 0]
None

浙公网安备 33010602011771号