1、字典是python中唯一的對映型別。映像型別中的資料是無序排列的。字典是作為可變的哈係表實現的。
2、字典操作
建立字典
訪問字典
dict =
for key in dict:
print
"%r : %r \n" % (key,dict[key])
'age' : 22
'name' : 'joe'
'***' : 'male'
>>> dict
>>> dictcp = dict(dict)
traceback (most recent call last):
file "", line 1, in
typeerror: 'dict' object is
not callable
>>> dictcp = dict
>>> dictcp
>>> dictcp['name'] = 'lw'
>>> dictcp
>>> dict
>>> dict0 = dict.copy()
>>> dict0
>>> dict0['name'] = 'han'
>>> dict
>>> dict0
>>>
del dict
>>> dict8 = dict(dict0)
>>> dict0
>>> dict8['name'] = 'lw'
>>> dict0
>>> dict8
>>>
**注意:**typeerror: 『dict』 object is not callable這個異常是由於我定義的字典名稱與函式名衝突。
解決辦法就是del dict 刪除衝突的字典名就好了。
3、內建函式
keys() values() items() (最後乙個返回元組的列表)
以上方法在不順序訪問字典時十分有用。
sorted()函式用來順序遍歷,按照鍵值排序
update() 兩個字典的更新。相同鍵的元素值覆蓋,不同的新增進去。eg:dict2.update(dict3)
clear()刪除所有條目。
1、集合的建立:使用集合的工廠方法 以及type len 方法。分為可變集合和不可變集合。最重要的就是不會存在重複元素,這也是集合的特性。
>>> s = set("cheese")
>>> s
set(['h', 'c', 'e', 's'])
>>> ss = frozenset("cheese")
>>> ss
frozenset(['h', 'c', 'e', 's'])
>>> type(s)
'set'>
>>> len(s)
4>>>
2、訪問集合
>>> for i in s:
... print i hc
es>>>
3、更新集合
>>> s.add('z')
>>> s
set(['h', 'c', 'z', 'e', 's'])
>>> s.add(a)
traceback (most recent call last):
file "", line 1, in
typeerror: unhashable type: 'dict'
>>> s.add(2)
>>> s
set([2, 'e', 'h', 'c', 's', 'z'])
>>> s.update("liwng")
>>> s
set([2, 'e', 'g', 'i', 'h', 'c', 'l', 's', 'n', 'w', 'z'])
>>> s.remove(2)
>>> s
set(['e', 'g', 'i', 'h', 'c', 'l', 's', 'n', 'w', 'z'])
>>>
python核心程式設計筆記
1 賦值並不是直接將乙個值賦給乙個變數,儘管你可能根據其它語言程式設計經驗認為應該如此。在python 語言中,物件是通過引用傳遞的。在賦值時,不管這個物件是新建立的,還是乙個已經存在的,都是將該物件的引用 並不是值 賦值給變數。一切皆為物件。python 的賦值語句不會返回值,但可以鏈式賦值。x ...
Python核心程式設計 筆記
第13章 物件導向程式設計 object是所有類之母。如果你的類沒有繼承任何其它父類,object將作為預設的父類。類既可 很簡單,也可以很複雜,這全憑你的需要。最簡單的情況,類僅用作命名空間,意味著,你把資料儲存在變數中,對他們按命名空間進行分級,使他們處於相同的關係空間中。類成員可以動態新增,這...
《python核心程式設計》筆記
建立檔案 maketextfile.py 指令碼提醒使用者輸入乙個尚不存在的檔名,然後由使用者輸入檔案每一行,最後將所有文字寫入文字檔案 1 usr bin env python 2 3 maketextfile.py creat text file 4 5 import os 6 ls os.li...