零基礎學Python之結構化數據(附詳細的代碼解釋和執行結果截圖)

3結構化數據

字典(查找表)、集合、元組、列表html

3.1字典

是有兩列任意多行的表,第一列存儲一個鍵,第二列存儲一個值。編輯器

它存儲鍵/值對,每一個惟一的鍵有一個惟一與之關聯的值。(相似於映射、表)函數

它不會維持插入時的順序。學習

Python的字典實現爲一個大小可變的散列表,它針對大量特殊狀況進行了充分的優化。所以,字典能夠很是快速的完成查找。優化

For循環能夠用來迭代處理一個字典。每次迭代時,鍵會賦給循環變量,用來訪問數據值。ui

''' 字典的存儲結構: 各個鍵與相應的值用:鏈接; 每一個值與下一個值之間用逗號鏈接; 開始結束用大括號{}包圍 ''' person3={'Name':'ting', 'Genger':'male', 'Occupation':'Researcher', 'Home Planet':'shaanxi province'} #在查看person3時,不是按照定義的順序,字典中的數據是無序的。 #使用鍵來訪問字典中的數據。  person3['Home Planet'] #會顯示shaanxi province  Person3[‘Age’]=33 #向字典增長一行數據,將一個對象賦值一個新鍵。

 

回顧vowels3.py程序:spa

它返回的是一個單詞中的元音:code

而如今須要一個新的功能是列出任意一個單詞中的元音以及它出現的頻度。htm

下面研究使用字典來改進這個元音程序:對象

   1.如何把這個字典初始化,使其中的值都爲0?

 

  2.如何遞增字典中的值?

‘e’對應的數字已經變成2

  3.如何迭代處理字典?

 

用for處理字典時,解釋器只處理字典的鍵,而不處理值。

  4.如何指定輸出時的順序?

 

使用sorted(found)   #sorted是一個內置函數,可按照字母順序組織輸出。

用items迭代處理字典:

執行結果:

使用setdefault:爲了縮短代碼,減小初始化的語句,先判斷鍵的存在並初始化。

鍵必須初始化!!!

 

只打印單詞中出現的元音。這樣不會輸出無心義的結果。

指令:

  setdefault()訪問一個鍵以前須要確保它的存在

  對於使用 if 'pear' not in fruits:

      fruits['pear']=0 來初始化相比,setdefault更簡單。

  items()迭代處理字典。

  sorted()排序。

 

3.2集合(set)

集合的查找速度快於列表,不容許有重複值。用’{ }’包圍,對象之間用’,’分隔,

1合併集合:union

Union將一個集合與另外一個集合合併,再把合併結果賦給一個新變量u,

u集合由兩個集合中全部惟一的對象組成。

使用SORTED LIST函數輸出一個有序的由惟一字母組成的列表u_list。

2找到非交集元素:difference

difference函數將vowels中的對象和Word中的對象進行比較,而後返回一個新的集合(d),是包含在vowels中但不在Word中的對象。

 

3找到交集元素:intersection

 

i集合由即在vowels又在set(word)中的全部對象組成。

簡化vowels2程序:

3.3元組(tuple)

 

元組用()定義列表是【】,

一旦建立和填充數據,元組就不可變。

注意只有一個對象的元組

定義時必須在()中加上一個逗號,不然就被看成爲字符串類型

 

 

此內容以前是1快速入門和2列表數據,連接已經在後面了,歡迎一塊兒交流學習!0(≧▽≦)0:

http://www.javashuo.com/article/p-hvxprvdu-bx.html

下期4函數與模塊:http://www.javashuo.com/article/p-ukpcoxei-c.html 相信這個你看了必定有新的體會

這個編輯器(黑色背景那個)很漂亮,是嗎?

在官網上能夠下載sublime text3 而後找個破解版,不過在使用Python交互的函數如input時須要添加一個包,詳細的步驟見連接:

http://www.javashuo.com/article/p-gypixcgv-ev.html

相關文章
相關標籤/搜索