python大列表 Python中的列表

2021-10-19 21:04:24 字數 2762 閱讀 3505

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 這就...