西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)其它知識 → Python 列表 list 數(shù)據(jù)類型創(chuàng)建list、添加元素和刪除元素

Python 列表 list 數(shù)據(jù)類型創(chuàng)建list、添加元素和刪除元素

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2013/2/8 21:11:07字體大。A-A+

作者:西西點(diǎn)擊:0次評論:1次標(biāo)簽: Python

《派森》(Python)3.13 win32 英文安裝版
  • 類型:編程工具大。21M語言:英文 評分:8.7
  • 標(biāo)簽:
立即下載

列表與字典(還沒接觸到)是Python中兩個主要的數(shù)據(jù)類型。他們可以被修改,可以增長可以縮短,也可以嵌套。

列表   list

列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(所謂嵌套)。

Python 的列表與c語言中的數(shù)組訪問方法相同,通過偏移地址訪問。

下面舉幾個列表的例子,圖片來自《Python學(xué)習(xí)手冊(第三版)》

為了加速進(jìn)度以及方便查詢,我們看一下對列表常用操作的整理,圖片來自《Python學(xué)習(xí)手冊(第三版)》

現(xiàn)在我們詳細(xì)講一下幾個list的操作。

首先我們明確,Python的list可以容納任何對象。不管他是什么格式的。

1)創(chuàng)建list

創(chuàng)建列表的操作非常簡單,只要用中括號報過一系列逗號分隔的值就可以了。就像第一個圖片上那樣。

2)list 切片

定義新列表后,我們可以列表中的任何一個部分作為新的列表,該技術(shù)在dive in python 中稱為切片。

讓我們直接看程序。

a_list =['a','b','c','d','e','f']    # 創(chuàng)建一個列表
print a_list[1:3]                   # 在屏幕上打印一個切片

值得注意的是,在list偏移訪問中,與C中數(shù)組類似,同樣用a_list[0]表示列表第一項(xiàng)。

上面的程序我們得到了如下的結(jié)果:


b c 分別是列表中第二,第三個元素,序號應(yīng)該是1 和2 ,可以看出,對于 a_list[x,y] 的切片,切片片段為序號x到y(tǒng)-1之間的內(nèi)容。

我們也可以截取半段,讓我們看程序

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']   #                  定義
print a_list[:3]                                   
print a_list[3:]

從結(jié)果中我們可以看出,第一個片段[:3] 取的是從第一位到第三位的片段,而[3:] 獲取的是從第四位,到結(jié)尾的片段。

無論列表多長[:n]片段中總含有n個元素。

如果將x,y都留空,那么程序?qū)⑷×斜韮?nèi)全部的元素,但是卻獲得了一個新的列表。

如果x , y中有負(fù)數(shù)怎么辦,讓我們來看一下

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']   
print a_list[-1:3]                    
print a_list[3:-1]

第一個print輸出了空的list, 第二個卻輸出了兩個。 認(rèn)真看我們可以看出,負(fù)數(shù)是指從右往左數(shù),正數(shù)是指,從左往右。

3)向列表list中添加元素

從第三題中,我們認(rèn)識到append可以向list中添加元素。

a_list.append('NEW')

讓我們測試一下這句話.

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']
a_list.append('NEW')
print a_list

字符串 NEW 已經(jīng)被添加到該列表結(jié)尾處了.

當(dāng)然除了append 這種只能在末尾添加 元素 的操作來說,我們還要插入操作

a_list.insert( n,35434)

insert 后面有兩個操作符, 那么n表示插入哪個元素之后, 那串?dāng)?shù)表示插入什么東西,當(dāng)然任何類型的都可以,讓我們試一下這個新認(rèn)識的方法.

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']
a_list.insert(2,'NEW')
print a_list
a_list.insert(6,43223452)
print a_list

可以看到,插入位置是n號元素之前。

這兩種操作都是單個元素插入,當(dāng)我們需要將大量數(shù)據(jù)放在列表末尾的時候,我們就需要另一個新的方法了。

a_list.extend( [ 'fdaf',342 ] )

看一下例子就好了.

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']
a_list.extend( [ 'fdaf',342 ] )
print a_list

當(dāng)然我們還有更簡單的在末尾擴(kuò)增list的方法.

+

沒錯,就是一個符號.

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']
a_list+=[ 'fdaf',342 ]
print a_list

看,我們得到了相同的結(jié)果!

4)在列表中查詢

在C語言中,遍歷數(shù)組什么的是常見的問題,我們需要知道,數(shù)組中有沒有某個元素,某個元素在數(shù)組中的什么位置,某個元素在數(shù)組中出現(xiàn)的次數(shù) 等等等。這些也許在C中需要長篇累牘的描述算法,但是Python豐富的庫資源已經(jīng)把這些問題解決了。讓我們看看下面的表吧:

a_list.count(  'NEW' )     #計(jì)算出現(xiàn)次數(shù)
a_list.index( 'NEW' )        #尋找第一次出現(xiàn)的位置
'NEW' in a_list        #確認(rèn)元素是否出現(xiàn)在list中

現(xiàn)在我們測試一下這幾種功能。

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']
print a_list.count(  'NEW' )     #計(jì)算出現(xiàn)次數(shù)
print 'NEW' in a_list        #確認(rèn)元素是否出現(xiàn)在list中

我們沒有測試index,因?yàn)閕ndex 有個比較有趣的現(xiàn)象,讓我們來試一下。

# 位置     1   2   3   4   5   6    7
# 序號     0   1   2   3   4   5    6
a_list =['a','b','c','d','e','f','NEW']
print a_list.index(  'NEW' )

list中存在NEW,返回了正確的值。如果沒有NEW會怎么樣的呢

# 位置     1   2   3   4   5   6
# 序號     0   1   2   3   4   5
a_list =['a','b','c','d','e','f']
print a_list.index(  'NEW' )

竟然提示錯誤,當(dāng)然,這個就是引發(fā)了一個異常。之后我們會漸漸認(rèn)識到這個做法的好處。

5)從列表中刪除元素

既然我們插入了元素,那么我們也可以刪除他,但是,元素的插入與刪除并不像C語言那么麻煩,刪除操作是如此的簡單,大家看下例子就會了。

當(dāng)我們知道元素的確切位置的時候,我們使用

del a_list[n]

當(dāng)我們不知道位置,而是知道刪除什么的時候,使用:

a_list.remove(    )

與求元素準(zhǔn)確位置一樣,如果刪除一個list中不存在的元素會引發(fā)程序錯誤。

最后我們確認(rèn)一點(diǎn),空列表的布爾值為False,其他的列表均為Ture。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(1)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)