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号
浙公网安备 33010602011771号