4.Python的不堪一擊到初學乍練(列表,元組)

Python(列表,元組)

一.列表

  1. 列表初識java

    • 列表是python的基礎數據類型之一,其餘編程語言也有相似的數據類型.
      好比JS中的數組, java中的數組等等,它是以[ ]括起來, 每一個元素用","隔開而且能夠存放各類數據類型.
    • 列表相比於字符串,不只能夠存放不一樣的數據類型,而且能夠存放大量的數據.
      當32位Python能夠存放:536870912個元素, 當64位Python能夠存放:1152921504606846975個元素,而且列表是按照你保存的順序進行排序的,有索引而且能夠切片,方便取值.
  2. 列表索引,切片和操做python

    1.1 列表的索引編程

    ​ 列表與字符串同樣也有索引:數組

    # 列表索引的應用
    lst = ["asd", "你好", "hell world", 123, "昇仙"]
    print(lst[0]) # 獲取第一個元素
    print(lst[1]) # 獲取第二個元素
    print(lst[2]) # 獲取第三個元素
    print(lst[3]) # 獲取第四個元素
    print(lst[4]) # 獲取第五個元素
    # 列表是可變的與字符串不一樣這點要注意,在列表的操做中會有說明.

    1.2 列表的切片app

    ​ 列表與字符串同樣可進行切片操做編程語言

    lst = ["asd","你好","hell world",123,"昇仙"]
    print(lst[0:3]) # ["asd","你好","hell world"]
    print(lst[:3]) # ["asd","你好","hell world"]
    print(lst[1::2]) # ["你好",123] 列表一樣有步長
    print(lst[2::-1]) # ["hell world","你好","asd"] 步長位置的正負控制着取值的方向
    print(lst[-1:-4:-2]) # ["昇仙","hell world"]
    # 列表和字符串的操做基本相似,所以操做起來並不難觸類旁通便可.

    1.3 列表的操做(增,刪,改,查,其餘操做)code

    注意 : list和str不同, lst能夠發生改變.,因此能夠直接在原來list對象上進行操做.對象

    ​ 1.3.1 列表的增長排序

    # 在列表後新增
    lst = ["asd","你好","hell world",123,"昇仙"]
    print(lst)
    lst.append("wusir")
    print(lst) # ["asd","你好","hell world",123,"昇仙","wusir"]
    ---------------------------------
    # 根據索引位置插入
    lst = ["asd","你好","hell world",123,"昇仙"]
    lst.insert(1,"成仙") # 在索引爲1的位置插入劉德華,原來的元素向後移動一位.
    print(lst) # ["asd","成仙","你好","hell world",123,"昇仙"]
    ---------------------------------
    # 迭代添加
    lst = ["asd","你好","hell world",123,"昇仙"]
    lst2 = ["昇仙成功","昇仙失敗"]
    lst.extend(lst2)
    print(lst) # ["asd","你好","hell world",123,"昇仙","昇仙成功","昇仙失敗"]
    print(lst2) # ["昇仙成功","昇仙失敗"]
    # lst2列表添加到lst列表中,lst2自己不變.

    ​ 1.3.2 列表的刪除索引

    ​ 列表的刪除有四種方式(pop,remove,clear,del)

    # pop刪除用法
    lst = ["asd","你好","hell world",123,"昇仙"]
    print(lst)
    el = lst.pop() # 當pop()括號內爲空時,默認刪除最後一個索引所對應的的數據.
    print(el) # 打印結果:昇仙,pop刪除列表的某一項時,會有返回值,其返回值就是被pop刪除的內容.
    print(lst) # ["asd","你好","hell world",123]
    
    lst = ["asd","你好","hell world",123,"昇仙"]
    el2 = lst.pop(2) # 刪除索引爲2的位置的值
    print(el2) # hell world
    print(lst) # ["asd","你好",123,"昇仙"]
    ---------------------------------
    # remove刪除用法
    lst = ["asd","你好","hell world",123,"昇仙"]
    lst.remove("昇仙") # 能夠刪除指定元素,當刪除不存在的元素會報錯
    print(lst) # ["asd","你好","hell world",123]
    ---------------------------------
    # clear刪除用法
    lst.clear() # 清空list
    print(lst) # []
    ---------------------------------
    # 切片刪除
    del lst[1:3] # 強制刪除
    print(lst) # ["asd",123,"昇仙"]

    ​ 1.3.3 列表的修改

    # 列表的修改
    lst = ["asd","你好","hell world",123,"昇仙"]
    lst[1] = "飛昇" # 把1號元素修改爲飛昇
    print(lst) # ["asd","飛昇","hell world",123,"昇仙"]
    lst[:4:2] = ["返璞歸真", "融會貫通"] # 切片修改也能夠,同時注意當步長不是1時,元素的個數要一一對應額不然會報錯
    print(lst) # ["返璞歸真","飛昇","融會貫通",123,"昇仙"]
    lst[1:4] = ["霸氣外露"] # 若是切片沒有步長或者步長是1時,則不用管替換的個數.
    print(lst) # ["返璞歸真","霸氣外露","昇仙"]

    ​ 1.3.4 列表的查詢

    ​ 列表是一個能夠迭代的對象

    # 用for查詢打印列表每個元素
    lst = ["asd","你好","hell world",123,"昇仙"]
    for el in lst:
     print(el)
    ---------------------------------
    # 查詢元素在列表中出現的次數
    lst = ["asd","你好","hell world",123,"昇仙"]
    c = lst.count("昇仙") # 查詢昇仙出現的次數
    print(c) # 1
    ---------------------------------
    # 查詢列表的長度
    lst = ["asd","你好","hell world",123,"昇仙"]
    l=len(lst) # 列表的長度,與字符串的使用方式相同
    print(l) # 5

    ​ 1.3.4 列表的其餘操做

    # 升序
    lst = [1,2,15,23,4,33]
    lst.sort() # 排序,默認爲升序.
    print(lst) # [1,2,4,15,23,33]
    ---------------------------------
    # 降序
    lst.sort(reverse=True) # 降序
    print(lst) # [33,23,15,4,2,1]
    ---------------------------------
    # 翻轉(倒序)
    lst = ["asd","你好","hell world",123,"昇仙"]
    lst.reverse() # 此方法只針對列表內的各個元素,倒序
    print(lst) # ["昇仙",123,"hell world","你好","asd"]
  3. 列表嵌套

    一層一層看靈活運用便可,融會貫通.

    lst = ["武當","峨眉","少林",["崆峒",["極樂谷"],"華山"],"魔教"]
    # 找到峨眉
    print(lst[2])
    # 找到少林和魔教
    print(lst[2:])
    # 找到崆峒
    print(lst[3][0])
    # 將崆峒改爲丐幫
    lst[3][0]="丐幫"
    print(lst) # ['武當','峨眉','少林',['丐幫',['極樂谷'],'華山'],'魔教']
    # 在lst列表後添加"丐幫"
    lst.append("丐幫")
    print(lst) # ['武當','峨眉','少林',['崆峒',['極樂谷'],'華山'],'魔教','丐幫']

二.元組

  1. 元組初識

    ​ 元組俗稱不可變的列表,又稱爲只讀列表,元組也是python的基本數據類型之一,用小括號括起來,裏面能夠聽任何數據類型的數據,循環也能夠,查詢能夠,切片也能夠,就是不能改.

    ​ 注意: 這裏元組的不可變的意思是當子元素是不可變對象時元素不可變,當子元素爲可變對象時是能夠變的, 這取決於子元素是不是爲可變對象.

    ​ 元組中若是隻有一個元素,須要添加一個逗號,不然就不是一個元組,當tu=()時,print(type(tu)),打印結果顯示tu是元組.

  2. 元組嵌套

    ​ 元組也有,len(),count(),index()等方法,能夠本身嘗試直至融會貫通.

    # 元組取值和切片
    tup = ("asd","你好","hell world",123,"昇仙")
    print(tup[0]) # asd
    print(tup[2]) # hell world
    print(tup[2:]) # ("hell world",123,"昇仙") 切片後仍然是元組
    ---------------------------------
    # for循環
    tup = ("asd","你好","hell world",123,"昇仙")
    for el in tup:
     print(el)
    ---------------------------------
    # 當元組內的子元素時可變類型時能夠進行操做,將武當換成丐幫
    tup = ("asd","你好","hell world",123,["武當","峨眉","少林"])
    tup[-1][0]="丐幫"
    print(tup) # ("asd","你好","hell world",123,["丐幫","峨眉","少林"])
    # 這裏元組的不可變的意思是子元素不可變,而字元素內部的子元素是能夠變, 這取決於子元素是不是可變對象.
相關文章
相關標籤/搜索