以下是根據《python基礎教程(第2版.修訂版)》整理的有關python中字典的相關函式的使用方法和注意事項。
# -*- coding: utf-8 -*-這個可以支援中文注釋
"""created on wed jan 3 15:58:01 2018
@author: douyh
"""'''*************************chapter 4: dictionary***************************'''
print('---------------this is for chapter 4 dictionary----------------------')
###how to create a dict###
a=b=dict(a='a',b=2,c=1)#等號前面不能用數字。雖然等號之前沒有用引號,但是也是字串
print(a,'\n',b)
#no.1
'''方法:clear
物件:字典
作用:清除字典中的所有項,與{}不同的是{}是直接改變繫結關係,對關聯的字典不會有影響
原地操作:是
'''print('1.clear')
a=b=a
a.clear()#會修改b
#a={}#不會修改b
print(a)
print(b)
#no.2
'''方法:copy
物件:字典
作用:淺複製
原地操作:替換不是,增刪是
'''print('2.copy')
from copy import deepcopy
a={}
a=b=a.copy()
c=deepcopy(a)#deepcopy
b['a'].remove('a')
print(a,'\n',b,'\n',c)
#no.3
'''方法:fromkeys
物件:字典
作用:fromkeys方法是使用給定的鍵建立新的字典,每個鍵都對應了預設的值none
原地操作:有返回值
'''print('3.fromkeys')
print(dict.fromkeys(['name','age']))
print(dict.fromkeys(['name','age'],'uknown'))#可以修改預設值
#no.4
'''方法:get
物件:字典
作用:get方法是乙個更寬鬆的訪問字典的方法,如果試圖訪問字典中不存在的項時,沒有任何
異常,而得到了none值,還可以定義自定義的值替換none
原地操作:
'''print('4.get')
d={}
print(d.get('a'),d.get('a','no'))
#no.5
'''方法:has_key,在py3.0中已經沒有了
物件:字典
作用:原地操作:
'''print('5.has_key')
#no.6
'''方法:items和iteritems
物件:字典
作用:items方法將字典所有的項以列表的形式返回,列表中每乙個項都表示為『對』的形式,但
並沒有特定的次序;而iteritems作用相同,只是返回迭代器而非列表,並更高效
原地操作:否
'''print('6.items and iteritems')
a=print(a.items())
#print(list(a.iteritems()))#py3中iteritems報錯
#no.7
'''方法:keys 和 iterkeys
物件:字典
作用:keys方法將字典中的鍵以列表形式返回,而後者則返回針對鍵的迭代器
原地操作:
'''print('7.key')
a=print(a.keys())#沒有iterkeys in py3
#no.8
'''方法:pop
物件:字典
作用:pop方法用來獲取給定鍵的值,然後將這個鍵-值對從字典中移除,注意一定要有輸入。
一次只能取出乙個來
原地操作:是,且有返回。
'''print('8.pop')
a=a.pop('a','b')#只能取出'a'
print(a)
#no.9
'''方法:popitem
物件:字典
作用:隨機彈出乙個項,相對pop更高效,因為不用首先獲取鍵的列表,字典中是沒有順序的
原地操作:
'''print('9.popitem')
a=a.popitem()#隨機彈出,但好像每次都是彈出了'c',但是字典中是沒有順序的。
print(a)
#no.10
'''方法:setdefault
物件:字典
原地操作:是
'''print('10.setdefault')
a.clear()
a=print(a.setdefault('a','c'))
print(a.setdefault('c','c'))
#no.11
'''方法:update
物件:字典
作用:利用乙個字典項更新另外乙個字典,提供的字典項會被新增到舊的字典中,如果有相同的
則進行覆蓋。
原地操作:是
'''print('11.update')
a.clear()
a=b=
a.update(b)
print(a)
#no.12
'''方法:values和itervalues
物件:字典
作用:以列表的形式返回字典中的值,後者返回迭代器####結果與書上好像不太一樣
原地操作:否
'''print('12.values')
a.clear()
a=print(a.values())
print(list(a.values()))#沒有itervalues,而這裡需要list,注意與key的區別。
#要加list應該是返回的迭代器?
Python基礎之字典dict
字典的特性,鍵值對出現 字典的定義 字典的key不可重複,如果key重複的話,預設最後乙個元素新增到字典中,多個元素之間用逗號分割。字典是無序的 定義乙個字典 例 dic 字典的常用方法 fromkeys 引數是乙個可迭代型別,把每乙個迭代物件變成字典的key,value預設為none 可以修改 例...
python基礎之字典 dict
字典 dict 是一種key value 字典是無序的,不能像str list 一樣 通過index查詢資料 字典內可以迴圈巢狀list dict等 列表key是唯一的,值不限制 學號 姓名 info 新增 修改 info 004 1 查詢print info.get 001 通過key獲取valu...
Python基礎之 字典dict
1.collections模組 collections模組包含除了dict set list tuple以外的一些特殊的容器型別,比如下面幾個 1 ordereddict類 排序字典,是字典的子類。2 defaultdict 使用工廠函式建立字典,使不用考慮缺失的字典鍵。3 counter類 為ha...