溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python字典和常規(guī)字典的區(qū)別是什么

發(fā)布時間:2021-12-01 14:29:02 來源:億速云 閱讀:135 作者:iii 欄目:編程語言

這篇文章主要講解了“Python字典和常規(guī)字典的區(qū)別是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python字典和常規(guī)字典的區(qū)別是什么”吧!

用一個實例來說明排序后的字典和常規(guī)字典之間的區(qū)別:

 import HTMLParser   import urllib   import sys   #定義HTML解析器   class parseLinks(HTMLParser.HTMLParser):   def handle_starttag(self, tag, attrs):   if tag == 'a':   for name,value in attrs:   if name == 'href':   print value   print self.get_starttag_text()   #創(chuàng)建HTML解析器的實例   lParser = parseLinks()   #打開HTML文件   lParser.feed(urllib.urlopen( \   "http://www.python.org/index.html").read())   lParser.close()

如您所見,有序字典維護有個元素的原始順序,而標準字典則沒有。不過有一點要注意,如果你使用命名參數(shù)而非鍵/值對來填充此字典的話。它就維護其順序。 也許這是一個bug。

因為使用命名參數(shù)是一種初始化字典的理想方式,并且個元素有一個明確的從左到右的順序。我們這里使用的元素與***個例子完全一樣:這個類可以使用一組典型的字典方法即keys()、values()和items()來訪問其內(nèi)容;

不過,這個類的update()方法跟常規(guī)字典的update()方法有所不同。它可以接受序列或者值為整數(shù)的映射。如果使用的是序列。它會統(tǒng)計元素個數(shù),并將其加到原先元素個數(shù)上。對于映射,它會統(tǒng)計該映射中的每個對象,并將結果加到原先的統(tǒng)計個數(shù)中。以下代碼對上面的示例中已經(jīng)初始化過的Counter類進行更新:

 import HTMLParser   import urllib   import sys   #定義HTML解析器   class parseLinks(HTMLParser.HTMLParser):   def handle_starttag(self, tag, attrs):   if tag == 'a':   for name,value in attrs:   if name == 'href':   print value   print self.get_starttag_text()   #創(chuàng)建HTML解析器的實例   lParser = parseLinks()   #打開HTML文件   lParser.feed(urllib.urlopen( \   "http://www.python.org/index.html").read())   lParser.close()

Itertools模塊不僅可以處理無窮序列,而且還可以處理有限序列。在Python應用程序中,它引入了兩個新的函數(shù):combinations_with_replacement()函數(shù)和compress()函數(shù)。

感謝各位的閱讀,以上就是“Python字典和常規(guī)字典的區(qū)別是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Python字典和常規(guī)字典的區(qū)別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI