總結
雙重循環
-
冒泡排序
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:是否是數字或字母