题目:将一个列表的数据复制到另一个列表中。
其中:
b=a[:]会创建一个新的与a完全相同的对象,但是与a并不指向同一对象,即a,b 指向两个不同的对象id,指向不同的内存地址。改变其中任意一个,另外一个不受影响。
b=a将两者指向同一个对象
a,b 指向相同的对象id,指向相同的内存地址。可理解为b为a 所指对象的别名。二者不同表现为当两者指向同一对象时,改变其中任意一个,都会改变对象的值,也就是同时改变a,b的值。
相关知识:
列表:
冒号: 用于定义分片、步长。
a[ : n]表示从第0个元素到第n个元素(不包括n),a[1: ] 表示该列表中的第1个元素到最后一个元素。
list1[:3:2],tul1[3:6:2](注意3:6是索引第3至5,不包含6,2为步长)
一般 一个冒号的步长默认为1,两个冒号的,第二个冒号后的数值则为步长。
Python包含以下函数:
1 cmp(list1, list2) //比较两个列表的元素
2 len(list) //列表元素个数
3 max(list) //返回列表元素最大值
4 min(list) //返回列表元素最小值
5 list(seq) //将元组转换为列表
Python包含以下方法:
1 list.append(obj) //在列表末尾添加新的对象
2 list.count(obj) //统计某个元素在列表中出现的次数
3 list.extend(seq) //在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4 list.index(obj) //从列表中找出某个值第一个匹配项的索引位置
5 list.insert(index, obj) //将对象插入列表
6 list.pop([index=-1]) //移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7 list.remove(obj) //移除列表中某个值的第一个匹配项
8 list.reverse() //反向列表中元素
9 list.sort(cmp=None, key=None, reverse=False) //对原列表进行排序