1. 程式人生 > >python元組與字典

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()方法,當鍵值存在則更新對應值,否則在字典後追加新的鍵值對應關係。