python社群的理想就是建立一款乾淨,簡單,完美的語言. 學習了兩三天, 真的感覺python的一切設計,都是為了解決曾經讓程式設計師感覺痛苦的問題.
看到python的列表, 再想想曾經的學習過的陣列. 我的天, 這不是我一直苦苦尋找的東西嗎?
由於列表和以前學習過的陣列有很大的差異性, 在此做了一些筆記, 留作以後復用的指南吧~
魚龍混雜列表的最大特性莫過於沒有型別之分,只是一些相關元素的簡單堆砌. 例如: int可以和str混在乙個容器當中.
缺點: 不能新增多個元素
extend(element或者另乙個列表)可以將需要追加的多個元素,製成乙個列表作為extend的引數,將它們新增到列表尾部.
insert(element)適用: 在列表中間的某乙個位置新增元素.
從列表中刪除元素在列表中刪除元素, 一種是根據元素名(值)的刪除. 一種是根據下標的刪除.remove(element)特點: remove是列表物件的乙個成員函式. 只能根據元素名(值)刪除元素.
del list[x]特點: del是乙個語句, 不是列表的函式.
可以通過del list來刪除整個列表
列表分片這個和matlab向量語法很類似. list[start : end : interval]
如果start不寫,表示列表最開始, end不寫,表示到列表最後. interval不寫, 表示間隔為1,即依次輸出.list = range(0,5,1)
list
[0,1,2,3,4]
list[1:3]
[1,2]
list[:3]
[0, 1, 2]
list[:]
[0, 1, 2, 3, 4]
list[::2]
[0, 2, 4]
list[::-1] ##獲得反向列表
[4, 3, 2, 1, 0]
分片拷貝利用列表分片得到初始化的新列表, 只是原來列表的部分或者全部元素的拷貝. 不會隨著源列表的改變而改變.
而直接變數名賦值的新列表,相當於引用. 會隨著源列表的變化而變化.例如list1 = range(1,5)
list2 = list1[:]
list3 = list1
list1.reverse()
list1
[4, 3, 2, 1]
list2
[1, 2, 3, 4]
list3
[4, 3, 2, 1]
列表操作符
大小比較兩個列表比較大小和c系strcmp類似, 是乙個元素乙個元素比較. 一旦有乙個對應位置兩個列表元素不相等, 那麼比較結束,返回結果.
列表相加列表之間的相加,是兩個列表的合併. 注意, 列表只能和列表相加, 不能通過相加把元素新增到列表尾部.
列表乘法當列表與陣列相乘,表示將列表擴充套件相應的倍數.
in 和 not in如何判斷某變數在不在列表中呢? 使用:element in list[可以使用列表分片]
element not in list
多維列表列表也可以像陣列一樣,實現多維性.list[x][y]
列表中的成員列表中有多少小夥伴呢? 不妨讓python自己告訴我們:dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__',
'__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__',
'__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__',
'__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__',
'__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__',
list.count(element) 統計element元素的個數
list.index(element) 得到element的下標list.index(element,start,stop) 可以通過三個引數限定搜尋範圍
list.reverse() 反轉列表
list.sort(func,key,reverse) 對列表排序func 排序演算法, 預設是歸併
key 排序關鍵字
reverse 是否逆序排. 預設是false. 如果需要從大到小排序, 則 list.sort(reverse = true)
求列表的長度? 可以通過 len(list)得到列表的長度. len是乙個bif.
關於元組由於python的列表過於強大, 所以python的創始人引入了元祖的概念, 關於元組, 和列表最大的區分就是不能隨意的修改裡面的元素. 必須通過copy的方式,建立乙個新的元組.另外, 宣告方式也比較特殊.
元組的宣告元祖的宣告常用小括號表示例如:tuple = (1,2,3)
但是,元組的關鍵字並不是小括號, 而是逗號. 例如, 其實去掉括號後tuple = 1,2,3
tuple
(1, 2, 3)
而當我們想要申明乙個單元素元組的時候,就不能簡單的 tuple = (1). 這裡的tuple其實是乙個int. 而應該 tuple = 1, 或者 tuple = (1,)
python刪除列表元素 Python列表元素分組
比如列表 0,0,0,1,1,2,3,3,3,2,3,3,0,0 分割成 0,0,0 1,1 2 3,3,3 2 3,3 0,0 如何解決這樣的問題呢?1 首先說明,如果這樣的題目都不能寫出 原因在基本的迴圈判斷沒有搞清楚。2 黃哥在如何訓練自己的程式設計思路 文章所說的,做習題,要像開發專案的流程...
python列表學習 python列表學習整理
list1 列表 是一種有序的集合,可以隨時新增和刪除其中的元素。list1 lily lucy peter abel 列印列表 print list1 遍歷列表 end 迴圈中不換行print x,end for x in list1 print x 列表個數 print len list1 列表...
python列表學習 Python列表學習
python中的列表表示 python中的列表相當於oc中的陣列,它們都會有增刪改查的方法,這裡就將這兩種語言中的列表和陣列進行對比學習。首先先來寫組oc中的陣列的表達方式 nsarray namesarr nsarray arraywithobjects,zhang wang li zhao 這就...