1. 程式人生 > >python中元組和列表的比較

python中元組和列表的比較

列表是容器型別,一般是用來儲存資料的

列表,可以用來存放各式各樣的資料,列表中儲存資料是有序的

列表中的每條資料,都有一個索引,第一條資料的索引為0,第二條資料的索引為1,以此類推

定義列表如下:

list_1=[1,2,'hello',False,3.14,'world']

元組:元組(tuple)也是python中內建的一個容器類,元組中的資料一旦確定下來就不可更改,不能進行新增、刪除、修改的操作,可以認為元組就是一個不可變的列表(list)

  宣告元組:

# 元組中只有一個元組的時候,在Python2中必須在元素後邊加個,逗號
tuple_1=(3.14,'hello','world',2,3,4,5,6)
print(tuple_1)
#宣告元組時,可以省略小括號,這種方式也可以生成一個元組
tuple_2=1,2,3,4,5,6,7,8
print(type(tuple_2))

一、向列表中新增資料(三種方法)

法一:使用append(object)函式,向列表中追加資料,會把新增的資料放在列表中的最後一個位置

          object:物件 要新增到列表中的資料

list_1.append('2018-1-23')
print(list_1)

執行結果:
[1, 2, 'hello', False, 3.14, 'world', '2018-1-23']

法二:使用insert(index,object)函式,向列表中插入一條資料

          index 索引(如果超出最大索引,會將資料放在最後,不會發生越界)會在索引之前插入一條資料      object:插入的資料

          如果index索引為負值,位置會從後向前找,最後一條資料索引為-1

list_1.insert(-1,'oppo')
print(list_1)

執行結果:
[1, 2, 'hello', False, 3.14, 'world', 'oppo', '2018-1-23']

法三:使用extend(iterable)函式,可以將另外一個列表中的資料新增到該表中

           iterable:可迭代物件  列表、字串、字典、元組

list_2=['a','s','d','f']
list_1.extend(list_2)
print(list_1)

執行結果:
[1, 2, 'hello', False, 3.14, 'world', 'oppo', '2018-1-23', 'a', 's', 'd', 'f']

二、修改列表中的資料(兩種方法)

法一:直接根據索引進行修改

list_1[3]=True
print(list_1)
法二:1.首先用index()函式查詢要修改資料的索引

          2.根據找到的索引值修改資料

          index(object:資料, start:開始搜尋的位置,stop:結束搜尋的位置) 

          若無start和stop預設從頭查到尾,如果指定查詢位置:包含start起始位置,不包含stop結束位置

          如果資料不在列表中(或者不在指定的範圍內),會出現異常錯誤

index=list_1.index('oppo',0,8)
print(index)
執行結果:
6
#根據找到的索引修改資料
list_1[index]='vivo'
print(list_1)
執行結果:
[1, 2, 'hello', True, 3.14, 'world', 'vivo', '2018-1-23', 'a', 's', 'd', 'f']

三、刪除列表中的資料(四種方法)

法一:根據索引刪除

#delete:刪除
del list_1[4]

法二:使用remove(object)函式,根據資料內容刪除  要刪除的內容必須在列表中,否則會報錯

         可先判讀資料是否在列表中,再進行刪除操作

#object in list 如果object在列表中,返回True,不在返回False
#object not in list 如果object不在列表中,返回True,在返回False
if 'ssss' in list_1:
    list_1.remove('ssss')
else:
    print('無法進行刪除操作')
list_1.remove('vivo')
print(list_1)

法三:使用pop(index)函式,移出(不是移除)

           index 可以指定取出資料的索引,如果不指定的話,預設取出最後一條資料,不能超出最大索引

s=list_1.pop(-1)
print(s)
print(list_1)

執行結果:
world
[1, 2, 'hello', False, 3.14]
法四:移除列表中所有的資料
# clear:清除
list_1.clear()

四、取出列表中(元組)的資料

1.列表

使用索引取出列表中的資料,資料還在列表中

s=list_1[2]
print(s)
print(list_1)
執行結果:
hello
[1, 2, 'hello', True, 'world', '2018-1-23', 'a', 's', 'd']
使用pop()函式,資料會從列表中移出
s=list_1.pop(2)
print(s)
print(list_1)

執行結果:
hello
[1, 2, True, 'world', '2018-1-23', 'a', 's', 'd']

2.元組

根據索引取出元組中的資料

num=tuple_1[0]
print(num)

#查詢元素在元組中的索引

#index(x,start,end) 查詢某個元素在元組中的位置  資料若不在元組中或者指定範圍內會報錯
# x 指要查詢索引的元素 start 查詢的的其實位置  end查詢的結束位置
#查詢位置 如果不指定 從開始位置到末尾位置  若指定位置從start開始到end之前,不包含end
index=tuple2.index(1)
print(index)

五、列表(元組)的切片

1.列表

#包含開始位置,不包含結束位置
#[開始位置:結束位置]  切片之後返回的是一個新的列表
rs=list_1[2:4]
print(rs)
#[:結束位置] 從第0個位置開始切片,一直到結束位置(不包含結束位置)
result=list_1[:5]
print(result)
#[開始位置:] 從開始位置進行切片,直到列表最後一個元素
result=list_1[3:]
print(result)
#開始位置一定要小於結束位置,否則會出現結果為空列表的情況
result=list_1[4:2]
print(result)
# result=list_1[-1:-5]  這樣寫會報錯,因為-1>-5
#填寫負值
result=list_1[-5:-1]
print(result)

2.元組

#元組也支援切片操作,切片之後返回一個新的元組
result=tuple_1[1:3]
print(result)

六、遍歷列表(三種方法)

元組和列表的遍歷方法一樣

法一:根據索引

#遍歷列表:將列表中的所有資料一個一個取出來
#獲取列表中存放的資料個數
length=len(list_1)
print('列表中存放的資料個數為:%s'%length)
for x in range(0,len(list_1)):
    #把x的值作為索引 取出列表中的資料
    s=list_1[x]
    print(s,'',end="")
法二:泛型遍歷
for x in list_1:
    print(x,'',end="")

法三:使用列舉

#建立一個列舉物件
rs=enumerate(tuple_1)
#以下兩種for迴圈均可
for index,value in rs:
    #index就是小元組的索引,value就是小元組中的資料
    #print()括號裡可只寫一個值,也可寫兩個
   print(value)
    #print(index,value)
for item in rs:
    print(item)


七、列表(元組)的其他函式

list_3=[8,45,22,35,1,67,3,15,7,98.5,33.4,1,1,1]
1.sort() 排序函式  預設使用升序排序

   reverse引數為True,按照降序排列

list_3.sort(reverse=True)
print(list_3)

執行結果:
[98.5, 67, 45, 35, 33.4, 22, 15, 8, 7, 3, 1, 1, 1, 1]


#reverse() 反向排序
list_3.reverse()
print(list_3)

執行結果:
[1, 1, 1, 1, 3, 7, 8, 15, 22, 33.4, 35, 45, 67, 98.5]
2.count()  統計某條資料在列表(元組)中出現的次數
#1.統計列表
count=list_3.count(1)
print(count)
#2.統計元組
count(x) 統計某個元素在元組中出現的次數
#x 要查找出現次數的元素
count=tuple2.count(1)
print(count)

八、列表與元組的轉換

1.列表元組巢狀

list_1=[['張三',22,110],['李四',23,120],(1,2,3),(3,2,1)]
2.元組列表巢狀  元組巢狀列表,元組不可以修改,但可以修改元組中的列表
tuple1=(1,2,['張三',33,110],(3,2,1))
tuple1[2][0]='李四'
tuple1[2].append('hello')
print(tuple1)
3.元組列表的互相轉換
list2=[1,2,3,4]
#把列表轉換為元組
tuple2=tuple(list2)
print(type(tuple2))
#把元組轉換為列表
list2=list(tuple2)
print(type(list2))


相關推薦

python列表比較

列表是容器型別,一般是用來儲存資料的 列表,可以用來存放各式各樣的資料,列表中儲存資料是有序的 列表中的每條資料,都有一個索引,第一條資料的索引為0,第二條資料的索引為1,以此類推 定義列表如下: list_1=[1,2,'hello',False,3.14,'world

Python列表、字典的遍歷相互轉化

在Python中元組(tuple),列表(list)和字典(dict)都是經常用到的,它們的遍歷和之間的相互轉換在使用中也非常重要,下面進行相關的總結: 一、元組,列表,字典的遍歷     1.1 元組的遍歷          元組的遍歷藉助 range() 函式,基本思想

Python在函數使用***接收列表

eight argument ron err 由於 .net 表示 方法 class 當要使函數接收元組或字典形式的參數 的時候,有一種特殊的方法,它分別使用*和**前綴 。這種方法在函數需要獲取可變數量的參數 的時候特別有用。[註意] [1] 由於在args變量前有*前綴

Python列表

python中的元組和列表元組序列 字符串、列表和元組都是序列 序列的兩個主要特點是索引操作符和切片操作符.索引操作符讓我們可以從序列中抓取一個特定的項目。切片操作符讓我們能夠獲取序列的一個切片,即一部分序列。序列的基本操作:len() :求序列長度 In [1]: a = '

python與小括號的關系

原來 例如 精簡 blank bsp 元素 lis [0 逗號 在學習Python 的時候。說到有兩種數據類型,一種叫 列表,一種叫做元組,可以認為,元組是功能精簡的列表。因為它少了列表很多功能。但是又有相識。定義他們的時候,主要是用中括號和小括號之分。 例如:定義一個列表

Python祖,列表,字典的區別

執行 ear 序列 not auth 標記 ron pytho tro Python中有3種內建的數據結構:列表、元祖和字典: 1.列表   list是處理一組有序項目的數據結構,即你可以在一個列表中存儲一個序列的項目。   列表中的項目應該包括在方括號中,這樣P

Python列表截取

範圍 逗號 步長 創建 截取 run TP 切片 括號 一、元組介紹 1.Python的元組與列表類似,不同之處在於元組的元素不能修改。 2.元組使用小括號,列表使用方括號。例如:tup = (1, 2, 3, 4, 5 ); 3.元組創建很簡單,只需要在括號中添加元素,並

列表, 列表的增刪改查 還有range

註意 del 美麗 [] pri 李彥宏 長度 計數 list() 1)rangerange(邊界) 從0到邊界range(start, end) 從start到endrange(start, end, step) 從start到end. 步長是step 遍歷列表的

Python相關知識

下面給大家介紹以下元組的相關知識:   ·元組可以看成是一個不可更改的list 1.元組的建立 # 建立空元祖 t = () print(type(t)) # 建立只有一個值的元組 # 觀察可知元組中如果純數字的話,型別是int,加個逗號就好了 t1 = (1) t2 = (1,) print(

列表

1.元組是可以用“ () ”表示的,而列表是用“ [] ”表示的 >>> array=(1,2,3,4) >>> array[1] 2 2.元組>>> array[1]=3 Traceback (most recent ca

python-day3 (tuple),列表(list),字典(dict)

1.元組 tuple   有序資料,元組資料不可更改,若元組中有列表,可更改元組中的列表值裡的值   元組中以","分開,若只有一個值就不是元組   包含各種資料型別   索引取值:t(2,0.0089,'1','True',(1,2,3,'hello'))   print(t[0])

資料型別· 第1篇《列表的效能分析、命名

## 堅持原創輸出,點選藍字關注我吧 ![](https://gitee.com/qinghanstudy/qinghan/raw/master/img/20201214114911.png) 作者:清菡 部落格:oschina、雲+社群、知乎等各大平臺都有。 # 目錄 - 一、元組和列表

pythonlist(列表)、array的區別-分別什麼時候使用?

list是列表,list中的元素的資料型別可以不一樣。array是陣列,陣列中的元素的資料型別必須一樣 Python中的列表(list)類似於C#中的可變陣列(ArrayList),用於順序儲存結構。它可以方便、高效的的新增刪除元素,並且列表中的元素可以是多種型別。列表很多操作都跟元組一

Python教程補充內容(函式接收列表lambda的用法)——簡明python教程學習筆記

本文大量內容來源於沈老師的簡明python教程,其中夾雜部分個人的理解如有偏頗之處還望海涵。 一. 在函式中接收元組和列表 \quad當要使函式接收元組或字典形式的引數的時候,有一種特殊的方法,它分別使用*和**字首。 這種方法在函式需要獲取可變數量的引數的

python的數據類型之字典

小括號 增加 pytho 元祖 .com objects 必須 err 以及 一、元組:俗稱不可變的列表,又被稱為只讀列表。元組用小括號括起來,裏面可以放任何數據類型的數據,查詢可以,循環也可以,切片也可以,但就是不能修改。 註意:如果元組中只有一個元素,一定要加一個逗號,

python的資料型別之字典

一、元組:俗稱不可變的列表,又被稱為只讀列表。元組用小括號括起來,裡面可以放任何資料型別的資料,查詢可以,迴圈也可以,切片也可以,但就是不能修改。 注意:如果元組中只有一個元素,一定要加一個逗號,否則就不是元組。 >>> tu = (1,"Tanxu","A") #建立一個元組,用

Python學習之路——Python基礎之基本資料型別(列表字典)

基本資料型別 數字 字串 列表 list 元組 tuple 字典 dict 布林值 bool 列表和元組 列表:有序,元素可以被修改元組: 書寫格式:元組的一級元素不可被修改,不能被增加或者刪除,一般寫元租的時候,推薦在最後加入',' 索引:v =

Python學習之路——Python基礎之基本數據類型(列表字典)

bre mark 有序 數據 str sca 索引 更新 蘋果 基本數據類型 數字 字符串 列表 list 元組 tuple 字典 dict 布爾值 bool 列表和元組 列表:有序,元素可以被修改元組: 書寫格式:元組的一級元素不可被修改,不能被增加或者刪除,一般寫

Python列表的區別聯絡?

1.  元組和列表比較相似,不過它們之間也有著不同: (1)列表:一個大倉庫,你可以隨時往裡邊新增和刪除任何東西。 (2)元組:封閉的列表,一旦定義,就不可改變(不能新增、刪除或修改)。 2. 什麼情況下你需要使用元組而不是列表?     當我們希望內容不被輕易改寫

python基礎二之列表列表(2))

這篇主要介紹一下列表的一些常用方法,其實在我看來,在學習基礎的時候,死記硬背才是捷徑。至於理解,假如都記不住是什麼,談理解就有點本末倒置了。從另一個方面來講,語言本身提供的API,直接拿來用就好了。何必增加自己的工作量呢。 1、append:列表的方法append用於將一個物件新增到列表末尾