python之list和tuple

https://www.cnblogs.com/evablogs/p/6691743.html

list和tuple区别:

相同:均为有序集合

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

list

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
>>>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]]

切片:

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

tuple

1
2
3
4
5
6
7
8
>>>t=('a',1,3,'g')
>>>t
('a',1,3,'g')
>>>t[0]='k'
Traceback (most recent call last):
  File "<pyshell#65>", line 1in <module>
    t[0]='k'
TypeError: 'tuple' object does not support item assignment           #tuple元组不能改变元组元素,不能覆盖
上一篇:GJM : Unity3D 高通Vuforia SDK AR 开发


下一篇:高通安卓调试LCD几方面总结