字典是python中唯一內建的對映型別,字典中的值並沒有特殊順序,但是都是存在乙個特定的鍵裡。鍵可以是數字、字串甚至是元組。
4.1-4.2 了解建立和使用字典
>>> phonebook['alice']
'2345'
>>> phonebool['asd']
traceback (most recent call last):
file "", line 1, in
phonebool['asd']
nameerror: name 'phonebool' is not defined
}4.2.1 dict函式
可以通過dict函式,通過其他對映(比如其他字典)或者(鍵,值)這樣的序列對建立字典。
>>> items = [('name' ,'gumby') ,('age' ,42)]
>>> d = dict(items)
>>> d
>>> d['name']
'gumby'
dict函式也可以通過關鍵字引數來建立字典
>>> d = dict(name='gumby' ,age=42)
>>> d
4.2.2 基本字典操作
len(d)
d[k]
d[k]= v
k in d k是鍵不是值
鍵型別:其他不可變型別
4.2.3 格式化字元
phonebook =
"cecil's phone number is %(cecil)s." % phonebook
"cecil's phone number is 3258."
替換html裡面變數
>>> print (template % data)
mu home page
welcome to my home page!
>>>
4.2.4 字典方法
1.clear
>>> d['name'] = 'gumby'
>>> d['age'] = 42
>>> d
>>> return_value = d.clear()
>>> d
{}>>> print(return_value)
none
b: >>> x = {}
>>> y = x
>>> x['key'] = 'value'
>>> y
>>> x = {}
>>> y
>>> x
{}c: >>> x = {}
>>> y = x
>>> x['key'] = 'value'
>>> y
>>> x.clear()
>>> y
{}>>> x
{} }2.
a:copy(淺複製)
《注意乙個問題,雖然是淺複製,但是=並不能導致值修改的同步,用方法才行》
>>> y = x.copy()
>>> y['username'] = 'mlh'
>>> y['machines'].remove('bar')
>>> y
>>> x
'machines': ['foo', 'baz'], 'username': 'admin'}
>>>
}5.has_key 判斷鍵在不在(3.0之上的版本不支援,我下面給出2.7.6的例子)
>>> d.has_key('name')
false
>>> d.has_key('name')
true
}6.items和iteritems
items方法將所有的字典項以列表方式返回,這些列表項中的每一項都來自於(鍵,值)
但是項在返回時並沒有特殊的順序。
>>> d.items()
dict_items([('url', ''), ('spam', 0), ('title', 'python web stre')])
>>> #iteritems方法的作用大致相同,但是會返回乙個迭代器物件而不是列表
《但是 什麼鬼? 編譯錯誤了!>
>>> it = d.iteritems()
traceback (most recent call last):
file "", line 1, in
it = d.iteritems()
}
7.keys和iterkeys
keys方法將字典中的鍵以列表方式返回,而iterkeys則返回針對鍵的迭代器。
>>> d.keys()
dict_keys(['y', 'x'])
>>> it = d.iterkeys()
traceback (most recent call last):
file "", line 1, in
it = d.iterkeys()
attributeerror: 'dict' object has no attribute 'iterkeys'
}8.pop
pop方法返回字典的給定鍵的值,並且從字典中把這個鍵值對刪除。
>>> d.pop('x')
1>>> d
}
9.popitem
隨機彈出來一組鍵值對,因為存數不是序列的,所以不能控制順序。
《注意和pop的區別,pop是彈出來乙個指定鍵的,poptiem是隨機彈出來乙個刪除》
>>> d.popitem()
('title', 'python web site')
>>> d
>>>
}10.setdefault
setdefault方法設定值,如果存在那就不修改,否則就增加上,如果預設引數是空,那麼就預設none
>>> d.setdefault('name' ,'n/a')
'n/a'
>>> d
>>> d['name'] = 'gumby'
>>> d.setdefault('name' ,'n/a')
'gumby'
>>> d
}
11.update
update方法可以利用乙個字典項更新另乙個字典項:
《有就覆蓋,沒有就直接增加》
>>> x =
>>> d.update(x)
>>> d
}
12.values和itervalues
返回value,乙個是列表,乙個是索引
>>> d[1] = 1
>>> d[2] = 2
>>> d[3] = 3
>>> d[4] = 1
>>> d.values()
dict_values([1, 2, 3, 1])
}
python第四章上機實踐 第四章上機實踐報告
設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。輸入格式 第一行是2 個正整數,分別表示檔案個數n和...
python學習第四章
1.建立字典 每個鍵和它的值之間用冒號隔開,項之間用逗號隔開,整個字典使用一對大括號括起來。2.字典基本操作 len d 返回d中項的數量。d k 返回關聯到鍵k上的值。d k v將值v關聯到鍵k上。del d k 刪除鍵位k的項。k in d檢查d中是否有含有鍵為k的項。3.字典的格式化字串 可以...
Python第四章數字
數字 number python 支援三種不同的數值型別 整型 int 通常被稱為是整型或整數,是正或負整數,不帶小數點。python3 整型沒有限制大小。浮點型 float 浮點型由整數部分與小數部分組成,浮點型也可以使用科學計數法表示 複數 complex 複數由實數部分和虛數部分構成,可以用a...