python的list 和tupe

一、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)不變.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、python 變量和數(shù)據(jù)類(lèi)型 1.整數(shù) Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在Python程序...
    績(jī)重KF閱讀 2,008評(píng)論 0 1
  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程,做筆記總結(jié)一下重點(diǎn)。 基本變量及其類(lèi)型 變量 在Python中,...
    victorsungo閱讀 1,927評(píng)論 0 5
  • Python 是一種相當(dāng)高級(jí)的語(yǔ)言,通過(guò) Python 解釋器把符合語(yǔ)法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 2,037評(píng)論 0 3
  • Python最常用的兩種集合類(lèi)型:list和tuple,我們可以用list和tuple來(lái)表示有序集合。 1.Pyt...
    ChinaGoodStaff閱讀 1,091評(píng)論 0 3
  • http://python.jobbole.com/85231/ 關(guān)于專(zhuān)業(yè)技能寫(xiě)完項(xiàng)目接著寫(xiě)寫(xiě)一名3年工作經(jīng)驗(yàn)的J...
    燕京博士閱讀 7,792評(píng)論 1 118

友情鏈接更多精彩內(nèi)容