本文主要記錄python學習過程中與數據結構相關的內容。主要會涉及到列表、字典、元組等。
1 字典
1.1 如何判斷字典中是否存在某個key?
在Python 2.x 時可以使用內置函數 has_key(),Python 3.x 以後不再支持該函數,被__contains(‘keyname’)所替代。
推薦使用如下的 in 方法
~ $ python3
>>> d = {'name':{},'age':{},'sex':{}}
>>> print name in d.keys()
True
1.2 刪除字典內所有元素
clear()方法
#!/usr/bin/python
# -*- coding: UTF-8 -*-
dict = {'name': 'blogsite', 'alexa': 10000, 'url': 'http://blog.csdn.net/'}
dict.clear()
1.3 刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值
pop()方法
#!/usr/bin/python
# -*- coding: UTF-8 -*-
site= {'name': 'blogsite', 'alexa': 10000, 'url':'http://blog.csdn.net/uuihoo/'}
pop_obj=site.pop('name') # 刪除要刪除的鍵值對,如{'name':'blogsite'}
print pop_obj # blogsite
1.4 爲字典添加鍵值對
如果要爲 dict 添加鍵值對,只需爲不存在的 key 賦值即可。實現此操作的語法格式如下:
dict[key] = value
1.5 計算字典元素個數
可以使用內置函數 len() 來計算字典元素個數,即鍵的總數。
1.6 遍歷字典
items()
函數將返回鍵值對列表,keys()
函數將返回鍵列表,values()
函數將返回一個值列表。
-
(a) 遍歷所有鍵值對
dict = {0:'a', 1:'b', 2:'c', 3:'d'} for key,value in dict.items(): print("\nKey:" + key) print("Value:" + str(value))
-
(b) 遍歷所有鍵
dict = {0:'a', 1:'b', 2:'c', 3:'d'} for key,value in dict.keys(): print(key)
其實還有一種更簡便的寫法,可以把 keys() 方法省略。
因爲遍歷字典時,如果你在 for 後面僅聲明一個變量,Python會默認遍歷所有的鍵並依次將鍵賦值給這個變量。dict = {0:'a', 1:'b', 2:'c', 3:'d'} for key,value in dict: print(key)
-
(c) 遍歷所有值
dict = {0:'a', 1:'b', 2:'c', 3:'d'} for key,value in dict.values(): print("Value:" + str(value))
1.7 合併字典
合併字典有兩種方法,一種是使用 update()
函數,還有一種是利用 **
的用法自定義合併。
-
(a) 使用 update() 方法
使用內置函數,將新的字典合併到當前字典中。函數參數爲希望添加到指定字典dict裏的字典。該方法沒有任何返回值。
合併過程可能出現以下兩種情況:
(1)有相同的鍵時:會使用最新的字典中該鍵對應的值做爲最終結果。
(2)有新的鍵時:會直接把字典中的鍵值對加入到當前字典中。dict_1 = {'Id001': 1, 'Id002': 2} dict_2 = {'Id001': 0, 'Id003': 3, 'Id004': 4} dict_2.update(dict_1) print(dict_2)
輸出結果如下:
{'Id001': 1, 'Id003': 3, 'Id004': 4, 'Id002': 2}
-
(b) 使用
**
,函數將參數以字典的形式導入def Merge(src_dict_1, src_dict_2): dst_dict = {**src_dict_1, **src_dict_2} return dst_dict dict_1 = {'Id001': 1, 'Id002': 2} dict_2 = {'Id003': 3, 'Id004': 4} dict_3 = Merge(dict_1, dict_2) print(dict3)
輸出結果如下:
{'Id001': 1, 'Id002': 2, 'Id003': 3, 'Id004': 4}
2 列表
2.1 判斷元素是否在列表
可以使用 in 方法,也可以使用內置函數 index()。
num = [1,2,3,4,5]
a = 3
if a in num:
print("a=%d is in list num" % a)
b_idx = num.index(a)
print("The index of a=%d in the list is %d" % (a, b_idx))
(全文完)
本文作者 :phillee
發表日期 :2021年12月20日
本文鏈接 :https://www.cnblogs.com/phillee/p/15711768.html
版權聲明 :自由轉載-非商用-非衍生-保持署名(創意共享3.0許可協議/CC BY-NC-SA 3.0)。轉載請註明出處!
限於本人水平,如果文章和代碼有表述不當之處,還請不吝賜教。