1. 程式人生 > >05-總結:雙重循環,數據類型

05-總結:雙重循環,數據類型

是否 code data- tar rfi 首字母 第一個 col 返回

總結

雙重循環

  • 冒泡排序

    lt = [1, 5, 7, 3, 2, 4]
    
    # 計算元素的個數
    n = len(lt)
    # 外層循環控制圈數
    for i in range(n-1):
        for j in range(n-1-i):
            # 不合適,交換數據
            # 此處是升序排序,若想降序需要將 > 改為 <
            if lt[j] > lt[j+1]:
                # 其他語言
                # temp = lt[j]
                # lt[j] = lt[j+1]
                #
    lt[j+1] = temp # python特有 lt[j], lt[j+1] = lt[j+1], lt[j] print(lt)

  • 選擇排序(練習)

    思想:
        取出第一個元素,依次與後面的元素進行比較,不合適交換位置,直至比較結束,一輪可以確定開頭一個
        每輪確定一個元素,依次向後,n個元素需要n-1輪比較
    示例:lt = [3, 5, 2, 1, 8, 4]
        第一輪:1 5 3 2 8 4
        第二輪:1 2 5 3 8 4
        第三輪:1 2 3 5 8 4

    提示:仍然使用雙重循環進行解決,外層循環控制循環多少輪,內心循環控制元素比較

數據類型

  • 集合

    添加:add
    刪除:
        remove,元素存在就刪除,不存在就爆粗
        discard,元素存在就刪除,不存在也不保存
        pop,隨機彈出一個元素,返回後刪除元素
    清空:clear
    並集:union
    交集:
        intersection:不改變原集合
        intersection_update:使用交集更新原集合
    差集:
        difference:不會改變原集合
        difference_update:使用差集更新原集合
    判斷:
        isdisjoint:是否沒有交集
        issubset:是否是另一集合的子集
        issuperset:是否是另一集合的超集(父集)

  • 字典

    獲取:
        d[key]:根據鍵獲取值,不存在時或報錯
        d.get(key, 默認值):不存在時默認返回None,也可以指定默認值
    更新:
        d[key] = value    鍵存在就更新,不存在就添加
        d.update(d2)    將字典d2中的鍵值對依次添加到d中,已經存在的鍵會覆蓋
    刪除:
        del d[key]
        d.pop(key)        返回刪除的值
    清空:clear
    所有鍵:keys        返回可叠代對象
    所有值:values        返回可叠代對象

  • 字符串

    join:拼接
    split:切割,從左邊
    rsplit:從右邊切割
    splitlines:按照換行符切割

    自行測試:

    find:查找第一次出現指定字符串的位置,沒有時返回-1
    rfind:從右邊開始查,返回第一次出現的位置
    
    upper:全大寫
    lower:全小寫
    swapcase:大小寫轉換
    capitalize:首字符大寫
    title:每個單詞首字母大寫
    
    count:統計某個字符串出現的次數
    startswith:是否以指定字符串開頭
    endswith:是否以指定字符串結尾
    
    istitle:是否每個單詞首字母大寫
    islower:是否是全小寫
    isupper:是否是全大寫
    isdecimal:是否是數字
    isalpha:是否是字母
    isalnum:是否是數字或字母

     

05-總結:雙重循環,數據類型