Python學習三

自己的一些私事處理完了,繼續學習Python吧。寫來寫去還是覺得Scala更優秀一點,只是沒有得到重視而已,或者Scala不再依賴於java虛擬機而是像Python一樣用自己的一套東西,可能會更好些。


言歸正傳,這次來學習一些Python的數據結構。


一、列表

 我對於Python的列表理解來看更像是Java的ArrayList(數組列表),可以把數據按照順序存儲到列表,並且列表是可變的,即支持增、刪、改操作。

 1.創建一個列表

mylist = ['a','b','c']


 2.修改列表中的元素

mylist[0] = 'A'

Python的索引是從零開始的,列表也不例外。修改mylist的列表第一個元素爲“A”


 3.增加一個元素到列表末端

mylist.append('ddd')
mylist += ['ddd']

在mylist列表的末端增加“ddd”的兩個方法,第一個是標準方法,調用列表的“.append”增加方法,講元素添加到列表末端。


注意:下面的寫法是錯誤的

mylist += 'ddd'

得到的結果是A,b,c,d,d,d

而不是想要的A,b,c,ddd


 4.刪除列表中的元素

del mylist[2]

刪除mylist列表中第三個元素(別忘了,索引從零開始)


 其他有關列表的方法可以自行google,這裏需要說的是len(mylist)可以得到列表的長度


二、元組(Tuple)

 元組合列表很相似,你完全可以把元組理解爲一個特殊的列表,其特殊性在於元組不可變。

 元組用“()”定義,每個元素用“,”隔開,查找元組中的元素也是用“[]”索引也是從零開始。

 1.定義一個元組

myTupleOne = ('a',) #只包含一個元素的元組
myTupleTwo = ('a','b')

如果元組中只有一個元素,那麼後面必須跟一個“,”由於元組不可變,所以元組十分安全。


三、字典

 數據題外話,我更喜歡用Scala的叫法“映射”。“字典”兩個字首先讓我聯想到SQL,而“映射”則體現出一一對應的關係,也是這個集合的主題內容。


 1.鍵值對的介紹:如果你瞭解SQL肯定能理解“鍵值 對”,否則可能不知所云。想想一些你如何從電話簿中查朋友電話?假設有個朋友叫張三,要給他打電話,通過這個操作讓我們來了解鍵值對。

第一步,手機電話簿找到張三,那麼張三就是鍵(張三就是賤)

第二補,找到張三後電話簿顯示出他的電話號碼,電話號碼就是值,也就是結果

那麼,一套鍵和值組成一個對,就是張三、電話組成一個對。他們是對應的關係,我不能通過張三找到李四的電話。


 2.鍵是唯一值:想象一下,如果電話簿裏面有兩個張三,我就不知道哪個電話是我想要的,所以鍵必須唯一。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章