1. 程式人生 > >Python3 list 列表操作

Python3 list 列表操作

引言

列表是我們在python中最常用的資料模型,他承擔的重要的角色,也展現出了他強大的一面。

簡介

作業系統:window7 x64
程式設計IDE:Pycharm 2016.1.2
Python版本:3.6.1
編輯時間:2017年4月24日

列表查詢

簡述

  • 英文原文

    A built-in Python sequence. Despite its name it is more akin to an array in other languages than to a linked list since access to elements are O(1).

  • 中文翻譯

    Python內建的序列,儘管它的名字與其它語言的陣列如此類似,但它不是。它是列表的儲存原理 O(1)。

基礎

  • 宣告列表

    • 示例程式碼
    list = [1, 2, 3, 4, 5]
    print(list)
    • 輸出內容
    [1, 2, 3, 4, 5]
  • 海納百川

    • 示例程式碼
    list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
    print(list)
    • 輸出內容
    [1, 1.1, <class 'int'>, '_OE_', ('oe', 1), [False, True]]
  • 訪問

    • 示例程式碼
    list = [1
    , 1.1, int, "_OE_", ("oe",1), [False,True]] # 下標訪問 print(list[0]) # 迴圈迭代器訪問 for i in list): print(i, end=", ")
    • 輸出內容
    1
    1, 1.1, <class 'int'>, _OE_, ('oe', 1), [False, True], 
  • 總結

    無資料型別的概念,可承載所有元素包括列表本身(整型,浮點型,物件,元祖等),可以通過下標進行訪問。

深入

  • in / not in 關鍵字

    • in 關鍵字

      • 示例程式碼

        list = [1, 1.1, int, "_OE_"
        , ("oe",1), [False,True]] print("_OE_ in list: ","_OE_" in list)
      • 輸出內容

        _OE_ in list:  True
    • not in 關鍵字

      • 示例程式碼

        list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
        print("oe in list: ","oe" in list)
        print("oe in list[4]: ","oe" in list[4])
      • 輸出內容

        oe in list:  False
        oe in list[4]:  True
    • 總結

      in / not in 無法遞迴對比查詢列表中子鍵(例如:列表或元祖 )

  • 分片訪問

    • 示例程式碼

      list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
      print("list[1:3]分片訪問:",list[1:3])
      print("list[:3]多元素分片訪問:",list[:3])
      print("list[1:]多元素分片訪問:",list[1:])
      print("list[:]多元素分片訪問:",list[:])
    • 輸出內容

      list[1:3]分片訪問: [1.1, <class 'int'>]
      list[:3]多元素分片訪問: [1, 1.1, <class 'int'>]
      list[1:]多元素分片訪問: [1.1, <class 'int'>, '_OE_', ('oe', 1), [False, True]]
      list[:]多元素分片訪問: [1, 1.1, <class 'int'>, '_OE_', ('oe', 1), [False, True]]
    • 總結

  • 列表是連結串列

    • 示例程式碼

      list = [1, 1.1, int, "_OE_", ("oe",1), [False,True]]
      for i in range(len(list)):
         print(list[i],": ", hex(id(list[i])))
    • 輸出內容

      1 :  0x646556f0
      1.1 :  0x7923c0
      <class 'int'> :  0x64636338
      _OE_ :  0x5b5520
      ('oe', 1) :  0x820aa8
      [False, True] :  0x81e5f8
    • 總結

      列表是一塊非連續的記憶體

總結

  • in / not in 無法遞迴對比查詢列表中子鍵(例如:列表或元祖 )

  • 列表是一塊非連續的記憶體

  • 他是連結串列的儲存方式

  • 他可以用下標進行訪問