Python中的資料結構

2021-08-20 11:08:26 字數 4586 閱讀 5832

在記憶體中儲存的資料可以有多種型別。例如,乙個人的年齡可以用數字來儲存,他的名字可以用字元來儲存。python 定義了一些標準型別,用於儲存各種型別的資料。python有五個標準的資料型別:

數字資料型別用於儲存數值。

他們是不可改變的資料型別,這意味著改變量字資料型別會分配乙個新的物件。

當你指定乙個值時,number物件就會被建立:

var1 = 1

var2 = 10

您也可以使用del語句刪除一些物件的引用。

del語句的語法是:

del var1[,var2[,var3[….,varn]]]]

您可以通過使用del語句刪除單個或多個物件的引用。例如:

del var

del var_a, var_b

python支援四種不同的數字型別:

例項 一些數值型別的例項:

長整型也可以使用小寫 l,但是還是建議您使用大寫 l,避免與數字 1 混淆。python使用 l 來顯示長整型。python 還支援複數,複數由實數部分和虛數部分構成,可以用 a + bj,或者 complex(a,b) 表示, 複數的實部 a 和虛部 b 都是浮點型。

字串或串(string)是由數字、字母、下劃線組成的一串字元。

一般記為 :

s=」a1a2···an」(n>=0)

它是程式語言中表示文字的資料型別。python的字串列表有2種取值順序:

1.從左到右索引預設0開始的,最大範圍是字串長度少1

2. 從右到左索引預設-1開始的,最大範圍是字串開頭

如果你要實現從字串中獲取一段子字串的話,可以使用變數 [頭下標:尾下標],就可以擷取相應的字串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。比如:

s = 『ilovepython』

s[1:5]的結果是love。

當使用以冒號分隔的字串,python返回乙個新的物件,結果包含了以這對偏移標識的連續的內容,左邊的開始是包含了下邊界。

上面的結果包含了s[1]的值l,而取到的最大範圍不包括上邊界,就是s[5]的值p。

加號(+)是字串連線運算子,星號(*)是重複操作。如下例項:

例項:

#!/usr/bin/python

# -*- coding: utf-8 -*-

str = 'hello world!'

print str

# 輸出完整字串

print str[0] # 輸出字串中的第乙個字元

print str[2:5] # 輸出字串中第三個至第五個之間的字串

print str[2:] # 輸出從第三個字元開始的字串

print str * 2

# 輸出字串兩次

print str + "test"

# 輸出連線的字串

以上例項輸出結果:

hello

world!h

llollo

world

!hello

world

!hello

world

!hello

world

!test

list(列表) 是 python 中使用最頻繁的資料型別。列表可以完成大多數集合類的資料結構實現。它支援字元,數字,字串甚至可以包含列表(即巢狀)。列表用 [ ] 標識,是 python 最通用的復合資料型別。列表中值的切割也可以用到變數 [頭下標:尾下標] ,就可以擷取相應的列表,從左到右索引預設 0 開始,從右到左索引預設 -1 開始,下標可以為空表示取到頭或尾。

加號 + 是列表連線運算子,星號 * 是重複操作。如下例項:

#!/usr/bin/python

# -*- coding: utf-8 -*-

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]

tinylist = [123, 'john']

print

list

# 輸出完整列表

print

list[0] # 輸出列表的第乙個元素

print

list[1:3] # 輸出第二個至第三個元素

print

list[2:] # 輸出從第三個開始至列表末尾的所有元素

print tinylist * 2

# 輸出列表兩次

print

list + tinylist # 列印組合的列表

以上例項輸出結果:

['runoob', 786, 2.23, 'john', 70.2]

runoob

[786, 2.23]

[2.23, 'john', 70.2]

[123, 'john', 123, 'john']

['runoob', 786, 2.23, 'john', 70.2, 123, 'john']

元組是另乙個資料型別,類似於list(列表)。元組用」()」標識。內部元素用逗號隔開。但是元組不能二次賦值,相當於唯讀列表。

例項:

#!/usr/bin/python

# -*- coding: utf-8 -*-

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )

tinytuple = (123, 'john')

print tuple # 輸出完整元組

print tuple[0] # 輸出元組的第乙個元素

print tuple[1:3] # 輸出第二個至第三個的元素

print tuple[2:] # 輸出從第三個開始至列表末尾的所有元素

print tinytuple * 2

# 輸出元組兩次

print tuple + tinytuple # 列印組合的元組

以上例項輸出結果:

('runoob', 786, 2.23, 'john', 70.2)

runoob

(786, 2.23)

(2.23, 'john', 70.2)

(123, 'john', 123, 'john')

('runoob', 786, 2.23, 'john', 70.2, 123, 'john')

以下是元組無效的,因為元組是不允許更新的。而列表是允許更新的:

#!/usr/bin/python

# -*- coding: utf-8 -*-

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]

tuple[2] = 1000

# 元組中是非法應用

list[2] = 1000

# 列表中是合法應用

字典(dictionary)是除列表以外python之中最靈活的內建資料結構型別。列表是有序的物件集合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來訪問的,而不是通過偏移訪問。字典用」」標識。字典由索引(key)和它對應的值value組成。

例項:

#!/usr/bin/python

# -*- coding: utf-8 -*-

dict = {}

dict['one'] = "this is one"

dict[2] = "this is two"

tinydict =

print dict['one'] # 輸出鍵為'one' 的值

print dict[2] # 輸出鍵為 2 的值

print tinydict # 輸出完整的字典

print tinydict.keys() # 輸出所有鍵

print tinydict.values() # 輸出所有值

輸出結果為:

this is one

this is two

['dept', 'code', 'name']

['sales', 6734, 'john']

有時候,我們需要對資料內建的型別進行轉換,資料型別的轉換,你只需要將資料型別作為函式名即可。以下幾個內建的函式可以執行資料型別之間的轉換。這些函式返回乙個新的物件,表示轉換的值。

Python中的資料結構

python是無型別的語言,所以不會指定型別,是在變數賦值的過程中直接確定了型別 list定義時用大括號賦值 list1 1,2,3,4,5 可以使用下標索引來訪問列表中的值,列表可以進行擷取和組合 現在看下使用下標索引和擷取的例子 list1 1,2,3,4,5,7 print list1 0 l...

python中資料結構的作用 python資料結構

一.列表 1.列表實現了連線操作的功能 list2 pear orange list1.extend list2 list1 list1 list2 2.列表的排序 list1.sort sorted list1 3.列表的反 list1.reverse 4.列表的常用方法 insert index...

Python中的資料結構 元組

元組是既定的,決定於建立的時候,所以不存在增刪改等一些操作。1.可變型別 2.不可變型別 a 1a 2 b 1print id 1 print id a print id b a和b都指向1的時候其位址相同,當a指向2的時候,a的位址變了,但是1本身是不變的 建立乙個元組 t 1,2,oop 4,2...