一、list
list是python內(nèi)置的有序的列表,可以隨時(shí)添加和刪除其中的元素
1、 定義
list_name = ["param1","param2","param3"]
>>> city = ["北京","上海","廣州"]
>>> city
>>> ['北京', '上海', '廣州']
2、訪(fǎng)問(wèn)
1)用索引來(lái)訪(fǎng)問(wèn),索引從0開(kāi)始
>>> city[0]
>>> '北京'
索引不可以越界,否則會(huì)報(bào)錯(cuò),最后一個(gè)元素的索引是len(city) - 1
2)還可以從后開(kāi)始訪(fǎng)問(wèn) 最后一個(gè)元素的索引為-1 依次類(lèi)推,第一個(gè)元素的索引為-len(city)
>>> city[-1]
>>> '廣州'
>>> city[-len(city)]
>>> '北京'
3、元素的追加
>>> city.append('南京')
>>> city
>>> ['北京', '上海', '廣州', '南京']
4、元素的插入
在city的索引1處增加 重慶
>>> city.insert(1,'重慶')
>>> city
>>> ['北京', '重慶', '上海', '廣州', '南京']
5、元素的刪除
1)刪除末尾
>>> city
>>> ['北京', '重慶', '上海', '廣州', '南京']
>>> city.pop()
>>> '南京'
>>> city
>>> ['北京', '重慶', '上海', '廣州']
2)刪除指定位置元素 pop(i),i為索引值
>>> city
>>> ['北京', '重慶', '上海', '廣州']
>>> city.pop(1)
>>> '重慶'
>>> city
>>> ['北京', '上海', '廣州']
6、元素的替換
>>> city
>>> ['北京', '上海', '廣州']
>>> city[0] = '南京'
>>> city
>>> ['南京', '上海', '廣州']
7、二維list
>>> list的元素也可以是list
>>> city_son = ['徐家匯','浦東區(qū)']
>>> city[1] = city_son
>>> city
>>> ['南京', ['徐家匯', '浦東區(qū)'], '廣州']
訪(fǎng)問(wèn)的時(shí)候 我們就可以直接 city[1][0] city[1][1]來(lái)訪(fǎng)問(wèn) 其中的元素值
二、tuple(元組)
tupe和list的最大的區(qū)別就是 tuple一旦被創(chuàng)建 就無(wú)法修改
1、定義
>>> country = ('中國(guó)','美國(guó)','加拿大')
>>> country
>>> ('中國(guó)', '美國(guó)', '加拿大')
2、訪(fǎng)問(wèn)
和list是一樣的 country[0],country[1]。由于tuple是不可變的,所以沒(méi)有append 和insert 函數(shù)
3、 一個(gè)元素的tuple
>>> num = (1)
>>> num
>>> 1
>>> name = ("shuang")
>>> name
>>> 'shuang'
我們發(fā)現(xiàn) 當(dāng)tuple的元素只有一個(gè)元素的時(shí)候,python會(huì)認(rèn)為括號(hào)就是小括號(hào)的功能,就會(huì)按照整數(shù)或者字符串解析,為了解決這個(gè)問(wèn)題,python規(guī)定這種情況 在后面加一個(gè)逗號(hào)','就可以
>>> num = (1,)
>>> num
>>> (1,)
>>> name = ('shuang',)
>>> name
>>> ('shuang',)
4、 tuple的指向不變
>>> c = (1,2,['shuang','dan'])
>>> c
>>> (1, 2, ['shuang', 'dan'])
>>> c[2][0] = 'dong'
>>> c
>>> (1, 2, ['dong', 'dan'])
你會(huì)驚訝,怎么可以變了呢??
其實(shí)在python內(nèi)部,c[0],c[1]指向 1 和 2,而c[2]是指向的一個(gè)list對(duì)象,其實(shí)變的不是tuple的元素,而是list的元素。tuple一開(kāi)始指向的list并沒(méi)有改成別的list,所以,tuple所謂的“不變”是說(shuō),tuple的每個(gè)元素,指向永遠(yuǎn)不變.