Python列表詳解


 

列表的特征

  • 列表使用中括號括起來;
  • 列表是有序的,列表的元素可以被修改;
  • 列表在內存中實際上是一個鏈形的存儲結構,上一個內容里指向了下一個內容的內存地址;
  • 列表的中括號內的內容以逗號分隔,每兩個逗號間是一個整體;
  • 內容可以是數字、字符串、列表、布爾值,所有的類都可以放進列表,列表是一個集合;
  • 列表中可以嵌套列表,列表可以無限嵌套列表;
  • 列表可以使用索引取值;

    例一:print(test[3:6])  # 取test列表里的范圍X(3 <= X < 6)的值;     

    例二:print(test[3])   #取test列表里的第三個索引的值;

    例三:嵌套索引取值:找到列表中子列表的子列表的數字

       ha = [1,2,3,"hello",[1,[33,55],5],"good"]

       v = ha[4][1][0]

       print(v)

  • 列表可以支持for循環;
  • 列表可以支持while循環;
  • 列表元素可以被修改;

    例一:修改某個內容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    ha[1] = 5

    print(ha)

    例二:通過切片的方式修改某幾個內容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    ha[1:3] = 9,["thanks","you"]

    print(ha)

    例三:刪除某個內容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    del ha[1]

    print(ha)

    例四:通過切換方式刪除某幾個內容

    ha = [1,2,3,"hello",[1,3,5],"good"]

    del ha[1:3]

    print(ha)

    

  • 列表支持in操作  

    ha = [1,2,3,"hello",[1,[33,55],5],"good"]

    for x in ha

    print(x)    

字符串和列表的互相轉換

  • 對於字符串想轉換列表,可以直接轉換(內部使用了for循環);

  haha = "sjdfjskldfjsdfjlsdjfksdfwperiuowep"

  haha = list(haha)

  print(haha)

  • 對於既有數字又有字符串的列表要轉換成字符串,需要自己寫for循環;

ha = [1,2,3,"hello",[1,[33,55],5],"good"]

s = ""

for x in ha

  s = s + str(x)

print(s)

  • 對於只有字符串的列表要轉換成字符串,可以使用簡單辦法,通過join方法;

    ha = ["1","2","3","hello","good"]

    s = "".join(ha)

    print(s)

List功能詳解

  • 需求一:在原值后追加(參數是一個整體,將追加的參數整體增加到原值后)

test = [11,22,33,44]

test.append(5)

print(test)

  • 需求二:清空列表

test = [11,22,33,44]

test.clear()

print(test)

  • 需求三:拷貝--淺拷貝

test = [11,22,33,44]

v = test.copy()

print(v)

  • 需求四:計算列表中某一個元素出現的次數

test = [11,22,33,44]

v = test.count(22)

print(v)

  • 需求五:擴展原來的列表(參數是可迭代對象,依次循環每一個參數增加到原列表)

test = [11,22,33,44]

v = test.extend([6565,"加油"])

print(v)

  • 需求六:根據值去找值的索引,從左往右找,找到以后就停止繼續尋找,參數中的尋找范圍定義的是一個左開右閉的區間;

test = [11,22,33,22,44]

v = test.index(22,3,4)

print(v)

  • 需求七:在指定的索引位置插入元素

test = [11,22,33,44]

test.insert(0,99)

print(test)

  • 需求八:刪除某個值,並獲取當前值(默認情況刪除最后一個元素),也可根據索引刪除某個值

test = [11,22,33,44]

v = test.pop()

print(test)

print(v)

test = [11,22,33,44]

v = test.pop(1)

print(test)

print(v)

  • 需求九:刪除列表中的指定值,從左往右刪除,遇到可以刪除對象后停止刪除

test = [11,22,33,22,44]

test.remove(22)

print(test)

其他的刪除方法還有:pop  remove  del  

  • 需求十:將當前列表進行反轉

test = [11,22,33,22,44]

test.reverse()

print(test)

  • 需求十一:排序,默認從小到大,有reverse的時候是從大到小

test = [66,88,11,22,33,22,]

test.sort()

print(test)

test = [66,88,11,22,33,22,]

test.sort(reverse=True)

print(test)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM