玩命加载中...
### 10. 复制list 这里的‘复制’有两种不同的含义和效果: 一种是对于`list_1=[a, b, c]`,我们如何得到`list_2=[a, b, c, a, b, c, a, b, c]`,也就是将`list_1`重复多次。 ```python my_list = ['data', 'science', 'sofasofa'] print my_list # 将my_list重复三次 new_list = my_list * 3 print new_list new_list = 3 * my_list print new_list #另外一个例子 print range(4) * 3 ``` 另一种是对于`list_1=[a, b, c]`,我们如何得到`list_2=[a, b, c]`。也就是说生成一个新的list,和原来的list一模一样。**此时,我们需要格外注意:**复制地址与复制数值的区别。 下面的例子是地址的复制,也就是说两个变量同时指向内存中的同一个list。当其中一个被更改,例外一个也会被更改。 ```python list_1 = [1, 3, 5] list_2 = list_1 print 'list_1', list_1 print 'list_2', list_2 list_1[1] = 99 print 'list_1', list_1 # 虽然赋值操作是对list_1进行的,但是list_2也同样被改变了。 print 'list_2', list_2 #同样,如果我们对list_2做更改,list_1也会被改变 list_2 += [999] print 'list_2', list_2 print 'list_1', list_1 ``` 当我们只需要复制数值而非地址时,我们可以使用`list_2 = list(list_1)`或者`list_2 = list_1[:]`来完成。例子如下: ```python # list(list_1) list_1 = [1, 3, 5] list_2 = list(list_1) print 'list_1', list_1 print 'list_2', list_2 list_1[1] = 99 print 'list_1', list_1 print 'list_2', list_2 # list_1[:] list_1 = [1, 3, 5] list_2 = list_1[:] print 'list_1', list_1 print 'list_2', list_2 list_1 += [99] print 'list_1', list_1 print 'list_2', list_2 ``` ### 11. 其他常用操作 `sum(my_list)`:对list中的元素求和。 ```python print sum(range(10)) print sum(range(0, 10, 2)) ``` `my_list.reverse()`:对list取逆,等同于`my_list = my_list[::-1]`。 ```python my_list = ['Taiwan', 'is', 'a', 'part', 'of', 'China.'] print my_list my_list.reverse() print my_list ``` `my_list.count(a)`:返回my_list中a的个数。 ```python my_list = ['Jiangsu', 'Anhui', 'Jiangsu', 'Guangdong', 'Taiwan', 'Shandong'] print my_list.count('Jiangsu') print my_list.count('Anhui') print my_list.count('California') ``` `my_list.sort()`:对my_list元素进行排序。如果是数值,按照从小到大的顺序;若是字符,按照首字母顺序排列。 ```python #数值 my_list = [1, 3, 9, 2, 4, 8] print my_list my_list.sort() print my_list #字符串 my_list = ['Jiangsu', 'Anhui', 'Jiangsu', 'Guangdong', 'Taiwan', 'Shandong'] print my_list my_list.sort() print my_list ``` <ul class="pagination"> <li><a href="index.php">第1页</a></li> <li><a href="2.php">第2页</a></li> <li><a href="3.php">第3页</a></li> <li><a href="4.php">第4页</a></li> <li class="active"><a href="#">第5页</a></li> <li><a href="6.php">第6页</a></li> </ul> <ul class="pager"> <li class="previous"><a href="4.php"><b>&larr; 返回前一页</b></a></li> <li class="next"><a href="6.php"><b>进入下一页 &rarr;</b></a></li> </ul>