1.写程序得到两个列表list的交集和差集
2.写一个单例类
3.用Python正则匹配HTML tag的时候,<.*>和<.*?>的区别
第一种写法是,尽可能多的匹配,就是匹配到的字符串尽量长,第二中写法是尽可能少的匹配,就是匹配到的字符串尽量短。
比如<tag>tag>tag>end,第一个会匹配<tag>tag>tag>,第二个会匹配<tag>,如果要匹配到二个 >,就只能自己写了
http://www.cnblogs.com/Eva-J/articles/7228075.html#_label6
4.下边代码会输出什么:
def f(x,l=[]): for i in range(x): l.append(i*i) print (l) f(2) f(3,[3,2,1]) f(3)
5.平衡点:比如int[] numbers = {1,3,5,7,8,25,4,20}; 25前面的总和为24,25后面的总和也是24,25这个点就是平衡点;假如一个数组中的元素,其前面的部分等于后面的部分,那么这个点的位序就是平衡点
要求:返回任何一个平衡点
1 li = [1,3,5,7,8,25,4,20] 2 def main(): 3 i = 0 4 length = len(li) 5 before = 0 6 after = 0 7 mark = 0 8 balance = 0 9 total = sum(li) 10 while True: 11 balance = i + 1 12 if balance + 1 > length -1: 13 return -1 14 if li[i] == li[balance+1]: 15 mark = balance 16 return (mark,li[mark]) 17 else: 18 before = before + li[i] 19 other = total - before - li[balance] 20 if before == other: 21 mark = balance 22 return (mark,li[mark]) 23 i += 1 24 if __name__ == "__main__": 25 print main()