一些基本的代码模板
基本的输入输出:
while True: try: n=int(input()) r=[] for i in range(n): r.append(int(input())) for i in sorted(set(r)): print(i) except: break
一次输入多行
n,k = map(int, input().strip().split())
第一行输入接下来,要输入的n行
# 输入一个整数,告诉我们接下来有多少组数据,然后在输入每组数据的具体值。 tcase = int(raw_input().strip()) for case in range(tcase): a, b = map(int, raw_input().strip().split()) print a + b,
注意:print(),后面留一个逗号,表示输出不换行
# 有多组输入数据,没有具体的告诉你有多少组,但是题目却告诉你遇见什么结束 while True: a, b = map(int, raw_input().strip().split()) if a == 0 and b == 0: break print a + b,
while True: try: a, b = map(int, raw_input().strip().split()) print a + b except EOFError: break
实例变量的初始化
def __init__(self): self.stack1 = [] self.stack2 = []
注意:1.是两个_
2.(self)
字典
字典初始化:
>>> s = 'mississippi' >>> d = defaultdict(int) >>> for k in s: ... d[k] += 1 ... >>> d.items() [('i', 4), ('p', 2), ('s', 4), ('m', 1)]
树
层序遍历一颗树:
def levelOrder(self, root): # write your code here # 存储最后层次遍历的结果 res = [] # 层数 count = 0 # 如果根节点为空,则返回空列表 if root is None: return count # 模拟一个队列储存节点 q = [] # 首先将根节点入队 q.append(root) # 列表为空时,循环终止 while len(q) != 0: # 使用列表存储同层节点 tmp = [] # 记录同层节点的个数 length = len(q) for i in range(length): # 将同层节点依次出队 r = q.pop(0) if r.left is not None: # 非空左孩子入队 q.append(r.left) if r.right is not None: # 非空右孩子入队 q.append(r.right) tmp.append(r.val) if tmp: count += 1 # 统计层数 res.append(tmp) return count
集合
n = set([]) #创建空的集合 n.add(1) #增加一个元素1 n.remove(2) #移除特定的元素 #求并集 A = set([2,3,4,5]) B = set([4,5,6,7]) print(A.union(B)) # 输出:{2, 3, 4, 5, 6, 7} #求交集 A = set([2,3,4,5]) B = set([4,5,6,7]) print(A.symmetric_difference(B)) # 输出:{2, 3, 6, 7}