python基础--03顺序的集合类型List&Tuple

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本身是可变的!

 

 

posted @ 2017-10-26 07:32  yc紫日  阅读(226)  评论(0编辑  收藏  举报