使用enumerate代替range
enumerate函数提供了一种精简的在遍历元素时候获取每个索引的写法,在代码中尽可能用enumerate代替传统上的range与下标访问相结合的序列遍历代码
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
>>>[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
zip
同时建立遍历两个迭代器,在 Python 3中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list()
a = [1,2,3]
b = [4,5,6]
zipped = zip(a,b) # zipped是一个对象 => <zip object at 0x103abc288>
list(zipped) # list() 转换为列表
[(1, 4), (2, 5), (3, 6)]
使用列表推导
如:想得到1-10的平方组成的list
list_1_10 = [x**2 for x in range(1,11)]
print(list_1_10)
网友评论