Python第四章 字典

2021-07-11 13:33:48 字數 3786 閱讀 4011

字典是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...