Python 四種基礎資料結構主要特點

2021-09-27 12:09:54 字數 3045 閱讀 9199

索引都是用中括號!!!!!!

一、列表list

列表中的每個元素都可變的,意味著可以對每個元素進行修改和刪除;

列表是有序的,每個元素的位置是確定的,可以用索引去訪問每個元素;

列表中的元素可以是python中的任何物件,這意味著元素可以是字串、整數、元組、也可以是list等python中的物件。

初始化為中括號

常見操作

# 初始化

]# 在列表後面追加

'alibaba'

)# 在指定位置插入元素

# 彈出尾部元素

mylist.pop(

)# 彈出指定位置元素

mylist.pop(0)

# 批量刪除

del mylist[1:

3]# 此處為刪除位置為1和位置為2的內容,不包含位置3。與索引時相同,不包含末尾。

# 指定內容刪除

mylist.remove(

'microsoft'

)# 索引前n個

mylist[:5

]# 索引前5個,分別為0,1,2,3,4

# 索引前n個

mylist[1:

5]# 索引位置分別為1,2,3,4

# 索引後n個

mylist[3:

]# 從位置3開始索引,一直到末尾

# 生成有規律的列表

a =[x for x in

range(1

,10)]

# 得到a=[1, 2, 3, 4, 5, 6, 7, 8, 9]

# 巢狀式

#生成乙個列表a

a =[i for i in

range(1

,4)]

print

(a)#生成乙個列表b

b =[i for i in

range

(100

,400

)if i %

100==0]

print

(b)# 巢狀式

c =[m+n for m in a for n in b]

print

(c)#執行結果:

# [1, 2, 3]

# [100, 200, 300]

# [101, 201, 301, 102, 202, 302, 103, 203, 303]

二、元組tuple

初始化為小括號()

三、字典dict

字典中的資料必須以鍵值對的形式出現,即k,v:

key:必須是可雜湊的值,比如intmstring,float,tuple,但是,list,set,dict不行

value:任何值。

鍵不可重複,值可重複:

鍵若重複字典中只會記該鍵對應的最後乙個值。

字典中鍵(key)是不可變的,何為不可變物件,不能進行修改;而值(value)是可以修改的,可以是任何物件:

在dict中是根據key來計算value的儲存位置,如果每次計算相同的key得出的結果不同,那dict內部就完全混亂了。

初始化為大括號{}

可用for k,v in a.items():同時得到key和value,a.keys()為訪問key,a.values()為訪問value

若直接for i in a:,則輸出的是key

比較大小時,比的是key,返回的也是key

d =

print

(max

(d))

print

(min

(d))

四、集合set

集合中每個元素都是無序的、不重複的任意物件

集合內資料無序,即無法使用索引和分片

集合內部資料元素具有唯一性,可以用來排除重複資料

可以通過集合去判斷資料的從屬關係。集合可做集合運算,可新增和刪除元素。

初始化:

s =

s =set([

1,2,

3,4,

5,6,

7])

集合內容操作,因為是無序的,所以只有單純的新增和刪除(需要指定內容)

s =

set([1

,2,3

])s.add(6)

s.remove(

2)

集合運算

s1 =

s2 =

#交集s_1 = s1.intersection(s2)

print

("交集:"

,s_1)

#差集s_2 = s1.difference(s2)

print

("差集:"

,s_2)

#並集s_3 = s1.union(s2)

print

("並集:"

,s_3)

#檢查乙個集合是否為另乙個子集

s_4 = s1.issubset(s2)

print

("檢查子集結果:"

,s_4)

#檢查乙個集合是否為另乙個超集

s_5 = s1.issuperset(s2)

print

("檢查超集結果:"

,s_5)

冰凍集合除了不能修改之外,其餘和集合一樣!

冰凍集合初始化:

a =

frozenset([

1,2,

4,2,

3])

結果為frozenset(),因為不含重複值

四種基本的資料結構

資料結構的定義 分為邏輯結構 元素之間有什麼關係 和儲存結構 元素之間怎麼儲存 通常有下列四類基本的結構 集合結構。該結構的資料元素間的關係是 屬於同乙個集合 線性結構。該結構的資料元素之間存在著一對一的關係。樹型結構。該結構的資料元素之間存在著一對多的關係。網狀結構。該結構的資料元素之間存在著多對...

四種基本的資料結構

通常有下列四類基本的結構 集合結構。該結構的資料元素間的關係是 屬於同乙個集合 線性結構。該結構的資料元素之間存在著一對一的關係。樹型結構。該結構的資料元素之間存在著一對多的關係。網狀結構。該結構的資料元素之間存在著多對多的關係。1.集合結構 所謂集合就收我們中學學的這個 若x是集合a的元素,則記作...

redis的第四種資料結構 set

前面幾篇文章講了redis的string hash list,今天寫一下set。redis的集合和數學上的集合是一樣的,set命令都以s開頭 1.新增元素到集合 sadd key member sadd s1 1 2 3 integer 3 sadd s1 3 integer 0 sadd s1 2...