1. 程式人生 > >python--元組、字典、列表、集合

python--元組、字典、列表、集合

1.python 元組

(1)定義元組,用()定義

       eg:num = (1,2,3,4,5,6)

(2)定義只有一個值的時候,必須加上一個逗號,才能成為一個元組

       eg:num = (100,)

(3)元組裡面可以定義不同型別的資料

       Str、int、float、list、tuple等

       eg:tuple_1 = (1,2,2.3,”sun”,[1,3,5])

(4)檢視元組長度

       eg:len(tuple)

(5)切片取元組

       eg:tuple[index]

(6)統計元組count方法

        eg:tuple.count(xx)

(7)修改元組(對元組裡面的列表修改)

        eg:tuple[index].append(xx)

(8)列表轉元組

        eg:tuple(list)

(9)字串轉元組

(10)元組轉元組

(11)多維元組示例

        eg:tuple[2][1]

(12)元組索引index方法

        eg:tuple.index(xx)

 

python元組與字串的區別:

1)元組和字串都是有序的,不可修改的序列

2)元組的元素可以是任何型別,字串的元素只能是字元

3)元組的元素長度可以任意,字串的元素長度只能為1

 

2.python 字典

字典是一個無序的,可以修改的,元素呈鍵值對的形式,以逗號分割的,以大括號包圍的序列{ }

由於字典無序,所以我們定義字典和字典生成之後的元素的順序是不同的;

 

python字典的特點:

因為字典是無序的,所以字典沒有索引值;

因為字典沒有索引值,所以字典以鍵取值,字典的鍵唯一且不可修改(字典的鍵相當於列表的索引)

 

2.1 定義字典

(1)定義一個字典

     eg:infor = {“name”:“suner”,”age”:25}

(2)新增鍵值對

     eg:infor[“addr”] = “無錫”

(3)Key不存在修改字典相當於新增

     eg:infor[“school”] = “XX大學”

(4)key存在修改字典

     eg:infor[“school”] = “XXX大學”

(5)key存在刪除字典

     eg:del infor[“school”]

(6)key不存在刪除字典會報異常

(7)字典查詢

     eg:infor[“name”]

     eg:infor.get(“name”)   #用get查詢沒有也不會報錯

 

2.2 字典的取值

 

 

 

字典的取值

keys

返回一個包含字典所有key的列表

values

返回一個包含字典所有vaule的列表

get

以鍵取值,如果指定鍵不存在,預設返回None,可以指定返回內容

update

以字典格式更新指定鍵的內容,如果鍵不存在,建立鍵和值

items

返回字典鍵值呈元組形式的格式

len

測量字典,鍵值對的個數(整體)

 

2.3 字典的刪除

  字典的刪除

 

pop

彈出,返回並刪除指定鍵對應的值

popitem

隨機彈出一個鍵值元組,這裡隨機的原因是因為字典無序

clear

清空字典

 

2.4 字典的判斷

字典的判斷

in

判斷指定的鍵是否在字典當中,即將被廢除,之後我們python3用in

 

2.5 字典的遍歷

字典的遍歷

通過for ...in ...

通過for ... in ...:的語法結構,我們可以遍歷字串、列表、元組、字典等資料結構

 

3.Python列表

列表是一個有序的,可修改的,元素以逗號分割,以中括號包圍的一個序列。

3.1 定義列表

eg:num_list = [1,2,3,4,5,6,7,8,9]

 

3.2 列表的新增

列表的新增

append

追加,在列表的尾部加入指定的元素

extend

將指定序列的元素依次追加到列表的尾部(合併)

insert

將指定的元素插入到對應的索引位上,注意負索引

 

3.3 列表的刪除

列表的刪除

pop

彈出,返回並刪除指定索引位上的資料,預設刪除索引為-1的資料(預設刪除最後一個)

remove

從左往右刪除一個指定的元素

del

刪除整個列表或列表的資料,del是python內建功能,不是列表獨有的

 

3.4 列表的修改和查詢

列表的查詢

注:列表沒有find方法

count

計數,返回要計數的元素在列表當中的個數

index

查詢,從左往右返回查詢到的第一個指定元素的索引,如果沒有找到,報錯

 

3.5 列表的排序

列表的排序

 

reverse

順序倒序

sort

按照ascii碼錶順序進行排序,從小到大

 

4. python集合

集合(sets)有兩種不同的型別:可變集合(set)和不可變集合(frozenset)。對可變集合(set),可以新增和刪除元素,對不可變集合(frozenset)則不允許這樣做。

 

集合特點:集合與之前列表、元組類似,可以儲存多個數據,但是這些資料是不重複的。

set集合沒有順序

交集:公共部分

並集:| 沒有重複的

對稱差集:只在x或y中,但是不會同時出現在二者中

差集(a-b)是:項在a中,但不在b中。

4.1  定義集合

eg:num_set = {11,22,33,44,55}

 

4.2 集合

交集:公共部分

&

並集:沒有重複的

|

差集:只有x項有

-

對稱差集:只在x或y中有,不會同時有

^

 

5.總結

資料型別比較

字串

列表

元祖

字典

是否有序

是否可修改

方法多少

很多

一般

很少

較多