python 內置類型數據 有dictionary(字典)、list(列表)和tuple(元組)
一、Dictionary
Dictionary 是 Python 的內置數據類型之一,它定義了鍵和值之間一對一的關系。
>>> d = {"server":"mpilgrim", "datab ase":"master"} (1) >>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["server"] (2) 'mpilgrim' >>> d["database" ] (3) 'master' >>> d["mpilgrim"] (4) Traceback (innermost last) : File "<i nteract ive input>", line 1, in ? KeyError: mpilgrim
上面可以看出dictionary 的屬性。他有一個“key”值, 也就是像“server”“database”一樣的,指向一定的內容。
修改:
>>> d {'server': 'mpilgrim', 'database': 'master'} >>> d["database" ] = "pubs" (1) >>> d {'server': 'mpilgrim', 'database': 'pubs' } >>> d["uid"] = "sa" (2) >>> d {'server': 'mpilgrim', 'uid': 'sa', 'datab ase': 'pubs'}
可以看到,修改“key”值,就修改相應的內容
刪除:
>>> del d[42] >>> d {'server': 'mpilgrim', 'uid': 'sa', 'datab ase': 'mast er', 'retrycoun t': 3} >>> d.clear( ) >>> d {}
刪除是del, 刪除中的一個獨立的元素。 如果直接是 d.clear, 則直接清空。
二、list
>>> li = ["a", "b", "mp ilgrim", "z", "example"] >>> li ['a', 'b', 'mpilgrim', 'z', ' example'] >>> li[0] 'a' >>> li[4] 'exampl e'
和dictionary(字典)類似, list(列表)直接是存儲元素。沒有“key”值
負的 list索引
>>> li ['a', 'b', 'mpilgrim', 'z', 'examp le'] >>> li[-1] 'exampl e' >>> li[-3] 'mpilgrim'
可以看到“-1”指向的是最后一個元素。而 倒敘排列。
分片:
>>> li ['a', 'b', 'mpilgrim', 'z', ' example'] >>> li[1:3] ['b', 'mpilgrim'] >>> li[1:-1] ['b', 'mpilgrim', 'z'] >>> li[0:3] ['a', 'b', 'mpilgrim']
相當於是設定一個段,然后把這段數據都打印出來。
增加、擴展、追加
>>> li ['a', 'b', 'mpilgrim', 'z', ' example'] >>> li.append("new") >>> li ['a', 'b', 'mpilgrim', 'z', ' example', 'new'] >>> li.insert(2, "new") >>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'e xample', 'new'] >>> li.extend(["two" , "elements"]) >>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'e xample', 'new', 'two', ' elements']
增加:append增加到最后,insert 是插入到相應的位置后面, extend是擴展到最后。
其中append 和extend的效果是不一樣的。 增加是增加一個元素,后面的增加都在這個元素里面,相當於新掛了一個list1 到li下面。
而extend 是增加了一個元素。所以是擴展了list
搜索:
搜索和dictionary類似。
>>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'e xample', 'new', 'two', ' elements'] >>> li.index("exampl e") (1) 5 >>> li.index("new") (2) 2
刪除:
>>> li ['a', 'b', 'new', 'mpilgrim', 'z', 'examp le', 'new', 'two', 'e lements'] >>> li.remove("z") >>> li ['a', 'b', 'new', 'mpilgrim', 'exampl e', 'new', 'two', 'e lements'] >>> li.remove("new") >>> li ['a', 'b', 'mpilgrim', 'examp le', 'new', 'two', 'e lements'] >>> li.remove("c") Traceback (innermost last) : File "<i nteract ive input>", line 1, in ? ValueError: list.remove(x): x not in list >>> li.pop( ) 'elements' >>> li ['a', 'b', 'mpilgrim', 'examp le', 'new', 'two']
>>> li.pop( 2 )
'mpilgrim'
刪除可以用 remover 和 pop, remover刪除相應的元素, 而pop是把相應的元素拿出來,並返回改元素的值。
list運算符:
>>> li = ['a', 'b', 'mpilgrim'] >>> li =li + ['example', 'new'] >>> li ['a', 'b', 'mpilgrim', 'example', 'new'] >>> li += ['two'] >>> li ['a', 'b', 'mpilgrim', 'examp le', 'new', 'two']
>>> li = [1, 2] * 3 (3)
>>> li
[1, 2, 1, 2, 1, 2]
* 運算符可以作為一個重復器作用於 list。li = [1, 2] *3 等同於 li = [1, 2] + [1,2] + [1, 2],即將三個 list 連接成一個。
三、 tuple(元組)
Tuple 是不可變的 list。一旦創建了一個 tuple,就不能以任何方式改變它
>>> t =("a", "b", "mpilgrim", "z", "example") >>> t ('a', 'b', 'mpilgrim', 'z', 'e xample') >>> t[0] 'a' >>> t[-1] 'exampl e' >>> t[1:3] ('b', 'mpilgrim')
tuple是特殊的list。。。tuple只能定義,不能添加、修改、刪除。可以測試元素是否在里面。
>>> t ('a', 'b', 'mpilgrim', 'z', 'e xample') >>> t.app end("new") Traceback (innermost last) : File "<i nteract ive input>", line 1, in ? AttributeError: 'tuple' object hasnoattribute 'append' >>> t.remove("z") Traceback (innermost last) : File "<i nteract ive input>", line 1, in ? AttributeError: 'tuple' object hasnoattribute 'remove' >>> t.index("example") Traceback (innermost last) : File "<i nteract ive input>", line 1, in ? AttributeError: 'tuple' object hasnoattribute 'index' >>> "z"i nt True