1.Python中的List
1.1创建
L = []
L = [1,2,3]
List2 = List1 # 浅拷贝
List2 = List1[:] # 深拷贝
1.2正序访问
索引:0,1,2,3...
1.3倒序访问
索引:-1,-2,-3...
1.4添加元素--append(添加到末尾)
>>> L=['Adam','Lisa','Bart'] >>> L.append('paul') >>> print L ['Adam', 'Lisa', 'Bart', 'paul']
1.5添加元素--insert(添加到指定位置)
>>> L=['Adam','Lisa','Bart'] >>> L.insert(0,'Paul') >>> print L ['Paul', 'Adam', 'Lisa', 'Bart']
1.6删除元素--del
a=[1,2,3,4] del a[0]
1.7删除元素--pop(删除的同时返回被删除的元素)
>>> L ['Paul', 'Adam', 'Lisa', 'Bart'] >>> L.pop(2) 'Lisa' >>> L ['Paul', 'Adam', 'Bart']
1.8删除元素--remove(只会删除第一个指定的元素)
a=[1,2,3,4,1,2] a.remove(1) # [2, 3, 4, 1, 2]
1.9替换元素--指定索引赋值
>>> L ['Paul', 'Adam', 'Bart'] >>> L[0]='Bart' >>> L[-1]='Adam' >>> L ['Bart', 'Adam', 'Adam']
1.10列表相关方法
sort() -- 排序,会改变列表顺序;无返回值
>>> a=[3,2,5,1] >>> a.sort() >>> a [1, 2, 3, 5]
sorted() -- 排序,不改变列表顺序;返回值list
>>> a=[3,2,5,1] >>> sorted(a) [1, 2, 3, 5] >>> a [3, 2, 5, 1]
reverse() -- 倒序,会改变列表顺序;返回值list
>>> a=[3,2,5,1] >>> a.reverse() >>> a [1, 5, 2, 3]
len() -- 获得列表长度;返回值int
>>> a=[3,2,5,1] >>> len(a) 4
enumerate() -- 迭代所有可迭代对象,用for index,value in 接收
>>> a=[3,2,5,1] >>> for index,value in enumerate(a): ... print(index,value) ... 0 3 1 2 2 5 3 1
2.Python中的Tuple
2.1多元素tuple
tuple是另一种有序的列表,中文翻译为“元组”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
同样是表示班里同学的名称,用tuple表示如下:
>>> t = ('Adam', 'Lisa', 'Bart')
创建tuple和创建list唯一不同之处是用( )替代了[ ]。
现在,这个t就不能改变了,tuple没有 append()方法,也没有insert()和pop()方法。所以,新同学没法直接往 tuple 中添加,老同学想退出 tuple 也不行。
获取 tuple 元素的方式和 list 是一模一样的,我们可以正常使用 t[0],t[-1]等索引方式访问元素,但是不能赋值成别的元素。
2.2单元素tuple
0个元素:t=()
1个元素:t=(1,) # 注:必须加逗号,否则认为只是一个1
因为()既可以表示tuple,又可以作为括号表示运算时的优先级,结果 (1) 被Python解释器计算出结果 1,导致我们得到的不是tuple,而是整数 1。
2.3tuple的不可变深入理解
tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!