python元組與字典
一:元組
元組與列表的最大區別在與元組的第一及元素不可更改,故元組更多的用在安全性要求高與不可更改資料的情況更多。
元組主要有兩個方法分別為index()與count(),作用於列表的index()和count()一樣,這裡不再闡述。
tuple()函式強制把資料轉為元組並賦值給新的變數。
>>> li [1, 8, 2, 1, 'louis', 'hello', 'ok'] >>> tu=tuple(li) >>> tu (1, 8, 2, 1, 'louis', 'hello', 'ok')
二:字典
字典類似於其他程式語言的陣列。
①:刪除pop()、clear()、popitem()
clear()與列表的功能一樣,這裡不再闡述
pop(self,k[,d=none])
>>> d {'key1': 'vel1', 'key2': 'vel2', 'key3': 'vel3'} >>> d.pop("key1") 'vel1' >>> d.pop("key10") Traceback (most recent call last): File "<pyshell#131>", line 1, in <module> d.pop("key10") KeyError: 'key10' >>> d.pop("key10","123") '123' >>>
以上程式碼可知pop()方法,會返回被刪除的元素值,k的值如果不存在會報錯,但可以通過設定d的引數來返回預設值
popitem()
>>> d={'key1': 'vel1', 'key2': 'vel2', 'key3': 'vel3'} >>> d.popitem() ('key3', 'vel3')
>>> d
{'key1': 'vel1', 'key2': 'vel2'}
有上程式碼可知,popitem()方法預設刪除最後一個元素,並返回鍵值對。
②:複製方法copy(),該方法與列表的一致
③:建立新字典fromkeys()方法
>>> dict= dict.fromkeys(("baidu","sogo","360"),"www") >>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www'}
備註,後面的值為可選,預設為空,且該值只能有一個。
④:獲取字典資料get()、setdefault()
get(self,k,d=none)
>>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www'} >>> dict.get("baidu") 'www' >>> dict.get("google") >>> dict["google"] Traceback (most recent call last): File "<pyshell#164>", line 1, in <module> dict["google"] KeyError: 'google' >>> dict.get("google","google") 'google' >>>
由上帶嗎可知,get方法能夠規避獲取字典的資料不存在是可放回none或指定值,從而避免程式報錯。
setdefault(self,k,d=none)
>>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www'} >>> dict.setdefault("baidu") 'www' >>> dict.setdefault("google","google") 'google' >>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www', 'google': 'google'}
由上程式碼可知setdefault()方法與get()方法類似,不同之處在於,當獲取的鍵值不存在是會在字典內新建對應鍵值。
⑤:獲取所有鍵值,items()、keys()、values()
>>> dict.keys() dict_keys(['baidu', 'sogo', '360']) >>> dict.items() dict_items([('baidu', 'www'), ('sogo', 'www'), ('360', 'www')]) >>> dict.keys() dict_keys(['baidu', 'sogo', '360']) >>> dict.values() dict_values(['www', 'www', 'www'])
以上三種方法獲取到的值可和list()函式配合使用,取出該值。
⑥:字典更新update()
>>> dict {'baidu': 'www', 'sogo': 'www', '360': 'www', 'google': 'google'} >>> dict.update({"baidu":"baidu.com"}) >>> dict {'baidu': 'baidu.com', 'sogo': 'www', '360': 'www', 'google': 'google'} >>> dict.update({"yahoo":"yahoo.com"}) >>> dict {'baidu': 'baidu.com', 'sogo': 'www', '360': 'www', 'google': 'google', 'yahoo': 'yahoo.com'} >>>
由上程式碼可知,update()方法,當鍵值存在則更新對應值,否則在字典後追加新的鍵值對應關係。