内置的enumerate() 函数可以很好的解决这个问题 >>> my_list = ['a', 'b', 'c'] >>> for idx, val in enumerate(my_list): ... print(idx, val) ... 0 a 1 b 2 c 2.为了按传统行号输出(行号从1 开始),你可以传递一个开始参数 >>> my_list = ['a', 'b', 'c'] >>> for idx, val in e…
在序列上执行聚集函数(比如sum() , min() , max() ) eg1: >>>nums = [1, 2, 3, 4, 5]>>>s = sum(x * x for x in nums) eg2: >>>import os >>>files=os.listdir('C:\share') >>>if any(name.endswith('.py') for name in files): ... print(…
增量赋值运算符有 += 和 *=.+= 背后的特殊方法是 __iadd__,如果一个类没有实现 __iadd__ 方法,Python 会退一步调用 __add__ 方法.这两个方法的区别在于,__iadd__ 为就地改动,不会改变原值的内存地址,而 __add__ 方法会得到一个新对象. 考虑下面一个表达式: a += b 如果 a 实现了 __iadd__ 方法,a 会就地改动(内存地址不变).如果 a 没有实现 __iadd__ 方法,那么 a += b 这个表达式的效果就变得跟 a = a…