python編程的基本數據結構簡介

今天我們來學習一下python中的幾個基本數據結構。數據結構是數據存儲的結構。對數據結構的操作主要有創建、更新、刪除、查詢等,也即我們常說的增刪改查,或者crud。今天主要介紹python編程中的列表、字典和元組三個數據結構。

列表

列表簡介

列表是有一系列特定順序排列的元素組成。其中,元素可以是數字,是文本,甚至是其他的數據結構。可以說列表的的組成非常靈活多樣。

如何創建一個列表

在python語言中,用方括號[ ]來表示列表,並用逗號分隔其中的元素。創建列表可以從空列表開始創建,也可以把一些元素直接包含在列表中。我們創建一箇中國城市的列表,並打印出來。

citis=['北京','上海','guangzhou']
print(citis)

可以看到結果如下:

['北京', '上海', 'guangzhou']

如何查看列表裏的數據

1.查詢特定元素

列表是一個有順序的數據結構,訪問列表裏的元素,需要將該元素的索引或者位置告訴代碼。現在讓我們看看cities這個列表的第2個元素是哪個城市

citis=['北京','上海','guangzhou']
print(citis[1])

答案是上海,由於列表的索引是從0開始,而不是從1開始,所以查詢第2個元素,則索引應該爲1。

  1. 查詢所有元素

如果我們要查看列表裏的每一個元素,則可以採用循環的方式來遍歷整個列表。

for city in citis:
    print(city)

可以看到結果被依次打印出來、

北京
上海
guangzhou
  1. 訪問列表中的一部分數據
    可以用切片的方式來訪問列表中的一部分數據。所謂切片是指從在列表中從某個位置到另外一個位置取出其數據。例如我們想看看列表第2到第4這三個元素的數據。
views=['天安門','上海灘','小蠻腰','蓮花山','泰山','九寨溝','青海湖']
print(views[1:4])
['上海灘', '小蠻腰', '蓮花山']

值得注意的是,切片表達式的最後一個索引值並不輸出數據。如果我們要看一下最後三個元素。則

print(views[-3:])
['泰山', '九寨溝', '青海湖']

如何修改列表裏的數據

由於列表是動態的,可以對列表進行增刪改查,現在我們想把guangzhou改成中文的描述方式。我們知道guangzhou在第三個位置,所以

citis[2]='廣州'
print(citis)

從下面可以看到我們的修改生效了。

['北京', '上海', '廣州']

如何向列表裏添加數據

現在我們想把”深圳“加入到列表裏,這裏有兩個方法。我們可以直接把元素放在列表的最尾部,或者說想要放在特定的位置。

  1. 把元素放在列表最尾部,我們使用append方法。代碼如下:
citis.append('深圳')
print(citis)

可以看到深圳被放在了最後。

['北京', '上海', '廣州', '深圳']
  1. 指定放置位置,我們用insert方法,比如我們把天津放在列表的第四個位置。代碼如下
citis.insert(3,'天津')
print(citis)
['北京', '上海', '廣州', '天津', '深圳']

如何刪除列表裏的數據

有些數據當不再需要的時候,就可以從列表中刪除。刪除的方法有很多,可以應對不同的刪除方式。

  1. 當我們知道具體的元素時,可以用通過remove方法來實現刪除。
citis=['北京', '上海', '廣州', '天津', '深圳', '重慶', '大連', '青島']
citis.remove('天津')
print(citis)

從結果可以看到,“天津”被刪除了

['北京', '上海', '廣州', '深圳', '重慶', '大連', '青島']
  1. 如果知道要刪除數據的索引,可以用del方法來刪除元素。下面我們刪除第六個城市“大連”,其索引爲5
del citis[5]
print(citis)
['北京', '上海', '廣州', '深圳', '重慶', '青島']

或者採用pop方法,類似於出棧的方式。現在我們彈出剩餘城市的第5個城市“重慶”,其索引爲4

citis.pop(4)
print(citis)
['北京', '上海', '廣州', '深圳', '青島']

字典

字典簡介

在python中,字典是一系列的鍵-值對,即key-value對。每個key與一個value相關聯。其中value可以是任意的數據結構,包括數字、列表甚至是字典。

如何創建一個字典

字典用花括號{}來表示,每一個key-value用冒號聯繫,而不同的key-value對則用逗號分隔。現在我們創建城市名勝的字典。

city_view={'北京':'故宮','上海':'外灘','廣州':'珠江','青島':'嶗山','西寧':'青海湖','西安':'兵馬俑'}
print(city_view)
{'西安': '兵馬俑', '北京': '故宮', '西寧': '青海湖', '上海': '外灘', '青島': '嶗山', '廣州': '珠江'}

從打印的結果可以看到,字典中鍵值對的存儲是無序的。

如何訪問字典中的數據

由於字典的數據是鍵值對的方式存儲,要想訪問字典裏的數據,只需要找到鍵就可以了。下面我們要看看北京的名勝是什麼,則直接通過北京這個鍵來關聯。

print(city_view['北京'])
故宮

如果我們要訪問字典的所有鍵值對,那麼則需要遍歷。
1.遍歷所有的鍵值對
我們用for循環來遍歷所有的鍵值對。

for k, v in city_view.items():
    print("\n Key: "+k)
    print("Value: "+v)
  1. 遍歷所有的鍵或者值
    當只查看鍵時,可以用方法keys()。 當只查看鍵時,可以用方法values()。
for k in city_view.keys():
    print("\n Key: "+k)
 
for v in city_view.values():
    print("Value: " + v)

如何修改字典中的數據

要修改字典中的值,可通過鍵來關聯,並用新的值來關聯。把北京的名勝改成長城

city_view['北京']='長城'
print(city_view)
{'西寧': '青海湖', '西安': '兵馬俑', '北京': '長城', '青島': '嶗山', '廣州': '珠江', '上海': '外灘'}

如何向字典中添加新的數據

字典是一種動態結構,可以隨時添加key-value對。要添加鍵值對,直接對字典的鍵值對進行賦值即可。如,現在增加深圳-蓮花山這個鍵值對。

city_view['深圳']='蓮花山'
print(city_view)
{'深圳': '蓮花山', '北京': '長城', '西寧': '青海湖', '上海': '外灘', '廣州': '珠江', '青島': '嶗山', '西安': '兵馬俑'}

python不關心鍵值對的順序,只關心鍵值之間的關係。

如何刪除字典中的數據

當不需要字典中的一些信息,可以使用del將相應的鍵值對刪除,只需要指定字典名和要刪除的鍵。現在我們刪除 ‘青島’: '嶗山’這個數據。

del city_view['青島']
print(city_view)
{'深圳': '蓮花山', '上海': '外灘', '北京': '長城', '西安': '兵馬俑', '廣州': '珠江', '西寧': '青海湖'}

元組

列表和字典是動態的,可以存儲變化的數據。當有些數據不能修改時,我們可以用元組來存儲。

元組簡介

不可變的列表稱爲元組。用圓括號來標識。定義元組後,可以像訪問列表一樣來訪問。
現在假設表達一個固定矩形的信息,即長和寬。

area=(10,15)
print(area[1])

創建和訪問元組和列表類似,但是不可以對元組的數值修改。不過重新對元組變量進行賦值。

area[1]=25 這是不允許的。而

area=(10,15)
print(area[1])
area=(100,105)

是允許的。

總結

今天我們介紹了python常用的三種數據結構:列表,字典和元組。其中列表和字典是動態的,可以對存儲的數據進行增刪改查,而元組是不可變的,不可以進行修改。對這三種數據結構的掌握需要在具體業務中多加練習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章