2019年12月3日

摘要: functools.partial的作用就是,把一个函数的某些参数给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。 注意到上面的新的int2函数,仅仅是把base参数重新设定默认值为2,但也可以在函数调用时传入其他值: >>> int2('1000000', base=10) 阅读全文
posted @ 2019-12-03 10:42 FinnChan 阅读(181) 评论(0) 推荐(0) 编辑
 
摘要: 给sorted传入key函数,即可实现忽略大小写的排序: >>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower) ['about', 'bob', 'Credit', 'Zoo'] 要进行反向排序,不必改动key函数,可以传入第三个参 阅读全文
posted @ 2019-12-03 10:04 FinnChan 阅读(129) 评论(0) 推荐(0) 编辑
 
摘要: 计算素数的一个方法是埃氏筛法,它的算法理解起来非常简单: 首先,列出从2开始的所有自然数,构造一个序列: 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ... 取序列的第一个数2,它一定是素数,然后用2把序列的 阅读全文
posted @ 2019-12-03 09:42 FinnChan 阅读(134) 评论(0) 推荐(0) 编辑
 

2019年12月2日

摘要: map>>> def f(x): ... return x * x ... >>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> list(r) [1, 4, 9, 16, 25, 36, 49, 64, 81] map()传入的第一个参数是f,即函数对象本 阅读全文
posted @ 2019-12-02 17:55 FinnChan 阅读(71) 评论(0) 推荐(0) 编辑
 
摘要: 要创建一个generator,有很多种方法。第一种方法很简单,只要把一个列表生成式的[]改成(),就创建了一个generator: >>> L = [x * x for x in range(10)] >>> L [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] >>> g 阅读全文
posted @ 2019-12-02 15:46 FinnChan 阅读(577) 评论(0) 推荐(0) 编辑
 
摘要: 只写[:]就可以原样复制一个list: >>> L[:] [0, 1, 2, 3, ..., 99] tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,只是操作的结果仍是tuple: >>> (0, 1, 2, 3, 4, 5)[:3] (0, 1, 2) 字 阅读全文
posted @ 2019-12-02 14:40 FinnChan 阅读(90) 评论(0) 推荐(0) 编辑
 
摘要: 默认参数 先定义一个函数,传入一个list,添加一个END再返回: def add_end(L=[]): L.append('END') return L 当你正常调用时,结果似乎不错: >>> add_end([1, 2, 3]) [1, 2, 3, 'END'] >>> add_end(['x' 阅读全文
posted @ 2019-12-02 10:59 FinnChan 阅读(102) 评论(0) 推荐(0) 编辑
 

2019年11月29日

摘要: Dict 要避免key不存在的错误,有两种办法,一是通过in判断key是否存在: >>> 'Thomas' in d False 二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value: >>> d.get('Thomas') >>> d.get('Tho 阅读全文
posted @ 2019-11-29 18:42 FinnChan 阅读(89) 评论(0) 推荐(0) 编辑
 
摘要: list >>> classmates.append('Adam') >>> classmates.insert(1, 'Jack') >>> classmates.pop() >>> classmates.pop(1) tuple tuple和list非常类似,但是tuple一旦初始化就不能修改 阅读全文
posted @ 2019-11-29 16:26 FinnChan 阅读(92) 评论(0) 推荐(0) 编辑
 
摘要: >>> 'Hello,{0}!Your grade is {1:.2f}.That\'s a {2:.2f}% improvement from last time.'.format('Finn',89.9999,(89.9999-75)/75*100)"Hello,Finn!Your grade 阅读全文
posted @ 2019-11-29 15:46 FinnChan 阅读(69) 评论(0) 推荐(0) 编辑