python之list和tuple

list和tuple区别:

相同:均为有序集合

异同:list可变,tuple一旦初始化则不可变

list

>>>L=['A','B','C','D']                 #给列表赋值
>>>L
['A','B','C','D']
>>>L[0]
'A'
>>>L[1]
'B'                                    #根据索引下标输出值,下标索引从0开始
>>>L[-1]                               #下标-1,直接获取列表倒数第一个元素,倒数从-1开始
'D'                                    
>>>L.append('E')                       #append():在列表末尾添加元素
>>>L
['A','B','C','D','E']
>>>L.insert(5,'F')                     #insert(索引,待插入元素):指定元素插入的位置
>>>L
['A','B','C','D','E','F']
>>>L.pop(0)                            #pop():通过索引删除列表元素,并返回元素
'A'                                    #返回删除的元素
>>>L
['B','C','D','E','F']
>>>del L[0]
>>>L
['C','D','E','F']                     #del通过索引删除元素,但与pop()区别的是不返回删除的元素
>>>L.remove('C')                      #remove():删除指定的元素,不是通过索引删除的
>>>L
['D','E','F']
>>>len(L)                             #len():获取列表L的长度
3
>>>L.append([1,2])                    #append():列表中可以嵌套列表,也可以保存不同的数据类型
>>>L
['D','E','F',[1,2]]
>>>L[3][0]                            #获取列表中嵌套列表的值可以通过维数取得,此处为二维
1  
>>>L[0]='K'                           #想要替换对应索引的值,可以直接赋值覆盖
>>>L
['K','E','F',[1,2]]

切片:

>>> L
['K', 'E', 'F', [1, 2]]               
>>> L[0:3]                            #利用切片取得子列表[起始索引(0开始):结束索引(不包含):间隔],从0开始到3结束,但不包含索引3,默认间隔为0
['K', 'E', 'F']
>>> L[:]                              #取全部
['K', 'E', 'F', [1, 2]]
>>> L[:2]                             #从索引0开始到2,不包含2
['K', 'E']
>>> L[:1:2]                           #从索引0开始到1,不包含1,每间隔一个数取
['K']
>>> L[-1:]                            #倒数切片[结束索引:开始索引(默认-1)],从索引-1开始到-1
[[1, 2]]
>>> L[-2:]                            #从索引-2到-1
['F', [1, 2]]
>>> '123456'[:3]                      #可用字符串切片取得所需列表
'123'                

 

tuple

>>>t=('a',1,3,'g')
>>>t
('a',1,3,'g')
>>>t[0]='k'
Traceback (most recent call last):
  File "<pyshell#65>", line 1, in <module>
    t[0]='k'
TypeError: 'tuple' object does not support item assignment           #tuple元组不能改变元组元素,不能覆盖

 

posted @ 2017-04-11 01:10  鱼的记忆只有七秒  阅读(388)  评论(0编辑  收藏  举报