list0 = [1, 5, 2, 7, 9]
list1 = list0[:]
list2 = list0
print list0, list1, list2
以上三个列表输出都为: [1, 5, 2, 7, 9]
到底list1, list2哪个是list0的拷贝呢?
可以用排序验证一下:
list0.sort()
print list0, list1, list2
此时, list0, list2输出的都是[1, 2, 5, 7, 9]
而list1 = [1, 5, 2, 7, 9] 不变
因此列表拷贝时应采用list1的形式,list2的形式只是给原有列表加了一个新的标签
另外上面用到了sort()对列表进行排序,默认排序顺序是从小到大,如果想要从大到小排序呢?
可以采用这种方法:先从小到大排序,然后用reverse()进行翻转
也可以对sort()加参数
list0 = [1, 5, 2, 7, 9]
list1 = list0[:]
list1.reverse()
list0.sort(reverse = True)
上面的输出为:list1 = [9, 7, 2, 5, 1]
list0 = [9, 7, 5, 2, 1]