(先学第四章)
对象拷贝
任务:
Python通常只是使用指向原对象的引用,并不是真正的拷贝。
解决方案:
>>> a = [1,2,3] >>> import copy >>> c = copy.copy(a) >>> a.append(4) >>> a [1, 2, 3, 4] >>> c [1, 2, 3]
通过列表推导构建列表
任务:
通过操作和处理一个序列(或者其他可以迭代对象)中元素来创建一个新的列表
解决方案:
- 假设你想通过给某个列表中的每个元素都加上23来构建一个新列表。可以用列表推导:
>>> thenewlist = [x+23 for x in range(5)] >>> thenewlist [23, 24, 25, 26, 27]
- 同样,假设需要用某列表中的所有大于5的元素来构成一个新列表:
>>> thenewlist = [x+23 for x in range(9) if x > 5] >>> thenewlist [29, 30, 31]