《Python CookBook2》 第四章 Python技巧 对象拷贝 && 通过列表推导构建列表

时间:2022-01-18 14:31:02

(先学第四章)

对象拷贝


任务:

  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]