Python基礎之數據結構詳解

一、列表

創建一個列表,隻要把逗號分隔的不同的數據項使用方括號括起來

示例:
list01 = ['a','b','c']

1.1 列表更新元素

一個列表是可以儲存不同的類型的數據結構,並且修改的新元素也不一定需要和原來的元素類型一致,但是要註意的是,更新列表的索引必須是已存在的索引,不能對超出列表的索引更新元素

1.2 列表增加元素

增加元素的方法:

1.append方法:在列表的最後增加一個元素。

list01 = ['a', 'b', 'c']
list01 .append('d')
print(list01)
list01 .append(['e', 'f'])
print(list01)
執行結果:
['a', 'b', 'c', 'd']
['a', 'b', 'c', 'd', ['e', 'f']]

2.extend方法:在列表的最後增加多個元素。

list01 = ['a', 'b', 'c']
list01 .extend(['d', 'e', 'f'])
print(list01)
執行結果:
['a', 'b', 'c', 'd', 'e', 'f']

3.insert方法:在列表的中間插入一個元素。

list01 = ['a', 'b', 'c']
list01 .insert(1,'d')
print(list01)
執行結果:
['a', 'd', 'b', 'c']

1.3 列表刪除元素

刪除元素的方法:

1.pop方法:pop(index)可以刪除指定位置的元素,並且把這個元素作為返回值返回,如果不指定位置則默認選擇最後一個元素。

list01 = ['a', 'b', 'c']
list01 .pop()
print(list01)
list01 .pop(0)
print(list01)
執行結果:
['a', 'b']
['b']

2.remove方法:可以根據元素內容對元素進行刪除。

list01 = ['a', 'b', 'c']
list01.remove('a')
print(list01)
執行結果:
['b', 'c']

3.del方法:還可以使用關鍵字“del”根據索引刪除列表的元素。

list01 = ['a', 'b', 'c']
print(list01)
del list01 [0]
print(list01)
執行結果:
['a', 'b', 'c']
['b', 'c']

1.4 列表的其他操作

1.index方法:查找元素在列表中的索引位置。

list01 = ['a', 'b', 'c']
print(list01 .index('a'))
print(list01 .index('b'))
執行結果:
0
1

2.reverse方法:反轉隊列,反轉原來的隊列,並且沒有返回值。

list01 = ['a', 'b', 'c']
list01 .reverse()
print(list01)
執行結果:
['c', 'b', 'a']

3.count方法:統計某個元素在列表中的次數。

list01 = ['a', 'b', 'c','b', 'c']
print(list01 .count('a'))
print(list01 .count('b'))
執行結果:
1
2

4.sort方法:隊列表進行排序,還可以自定義排序方式。

list02 = [1,88,66,22]
list02.sort()
print(list02)
執行結果:
[1, 22, 66, 88]

二、元組

創建一個元組,隻要把逗號分隔的不同的數據項使用小括號括起來
如果元組中隻有一個元素,還需要元素後加上“,”,才能定義一個元組

tuple01 = ('a','b','c')

2.1 刪除元組

由於元組是不能修改的,所以元組也不能單獨刪除,隻能刪除整個元組

1.del方法:刪除整個元組

tuple01 = ('a','b','c')
del tuple01 
print(tuple01)
執行結果:
發生異常: NameError
name 'tuple01' is not defined
發生異常是正確的,說明tuple01 已經被刪除瞭

2.2 元組的其他操作

1.count方法:用於統計元素在元組中出現的次數

tuple02 = ('a', 'b', 'c','b', 'c')
print(tuple02.count('a'))
print(tuple02.count('b'))
執行結果:
1
2

2.index方法:用於查找元素在元組中的索引位置

tuple02 = ('a', 'b', 'c','b', 'c')
print(tuple02.index('a'))
print(tuple02.index('b'))
執行結果:
0
1

3.len方法:計算元組元素個數

tuple02 = ('a', 'b', 'c','b', 'c')
print(len(tuple02))
執行結果:
5

4.max,min方法返回元組中最大,最小的值

tuple02 = (1, 88, 66, 22)
print(max(tuple02))
print(min(tuple02))
執行結果:
88
1

三、字典

字典是另一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值 key=>value 對用冒號 : 分割,每個對之間用逗號(,)分割,整個字典包括在花括號 {} 中。

dict01 = {'a':'深圳','b':22,'c':22.22}

3.1 字典刪除元素

1.del方法:使用關鍵字“del”根據鍵刪除列表的元素

dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
del dict01['a']
print(dict01)
執行結果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{'b': 22, 'c': 22.22}

3.2 字典的其他操作

1.clear方法:用於清空字典裡的所有元素,使字典變為空字典。

dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
dict01.clear()
print(dict01)
執行結果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{}

2.copy方法:返回一個具有相同鍵值對的新字典。

dict01 = {'a':'深圳','b':22,'c':22.22}
print(dict01)
dict01.copy()
print(dict01)
執行結果:
{'a': '深圳', 'b': 22, 'c': 22.22}
{'a': '深圳', 'b': 22, 'c': 22.22}

3.fromkeys方法:用於創建一個新字典,用序列中的元素作為字典的鍵,第二個參數為字典所有參數對應的初始值。

tuple01 = ("name","age","city")
hunan1 = dict.fromkeys(tuple01)
human2 = dict.fromkeys(tuple01,20)
print(hunan1)
print(human2)
執行結果:
{'name': None, 'age': None, 'city': None}
{'name': 20, 'age': 20, 'city': 20}

4.get方法:返回鍵對應的值,如果字典不存在對應的鍵則返回none

dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.get('a'))
print(dict01.get('d'))
執行結果:
深圳
None

5.keys方法:返回一個列表,裡面包含瞭字典裡的所有鍵

dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.keys())
執行結果:
dict_keys(['a', 'b', 'c'])

6.valuse方法:返回一個列表,裡面包含瞭字典的所有值

dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.values())
執行結果:
dict_values(['深圳', 22, 22.22])

7.items方法:返回一個列表,裡面包含瞭所有鍵值對的列表

dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
print(dict01.items())
執行結果:
dict_items([('a', '深圳'), ('b', 22), ('c', 22.22)])

還可以使用items方法來遍歷字典

dict01 = {'a': '深圳', 'b': 22, 'c': 22.22}
for k, v in dict01.items():
    print(k,v)
執行結果:
a 深圳
b 22
c 22.22

四、集合

集合(set)是一個無序的不重復元素序列。可以使用大括號 { } 或者 set() 函數創建集合,註意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。

set01 = {1, 2, 2, 2, 2, 3, }
print(set01)
set02 = {1, 2, 3, }
print(set02)
執行結果:
{1, 2, 3}
{1, 2, 3}

4.1 集合添加元素

1.add方法:為集合添加一個元素

set01 = {1, 2, 3}
set01.add(4)
set01.add(3)
print(set01)
執行結果:
{1, 2, 3, 4}

4.2 集合刪除元素

1.remove方法:為集合刪除一個元素

set01 = {1, 2, 3}
set01.remove(1)
print(set01)
執行結果:
{2, 3}

五、其他操作

1.clear()	移除集合中的所有元素
	2.copy()	拷貝一個集合
	3.difference()	返回多個集合的差集
	4.difference_update()	移除集合中的元素,該元素在指定的集合也存在。
	5.discard()	刪除集合中指定的元素
	6.intersection()	返回集合的交集
	7.intersection_update()	返回集合的交集。
	8.isdisjoint()	判斷兩個集合是否包含相同的元素,如果沒有返回 True,否則返回 False。
	9.issubset()	判斷指定集合是否為該方法參數集合的子集。
	10.issuperset()	判斷該方法的參數集合是否為指定集合的子集
	11.pop()	隨機移除元素
	12.symmetric_difference()	返回兩個集合中不重復的元素集合。
	13.symmetric_difference_update()	移除當前集合中在另外一個指定集合相同的元素,並將另外一個指定集
	14.合中不同的元素插入到當前集合中。
	15.union()	返回兩個集合的並集
	16.update()	給集合添加元素

到此這篇關於Python基礎之數據結構詳解的文章就介紹到這瞭,更多相關python數據結構詳解內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!