python的list和tuple-條件判斷-循環-dict&set

一、list和tuple

list缺點:查找和插入的時間隨着元素的增加而增加;

list優點:佔用空間小,浪費內存很少。

  1. list和tuple是Python內置的有序集合,一個可變,一個不可變。根據需要來選擇使用它們。
  2. list有序列表

  1. tuple不可變列表

二、條件判斷

  1. 簡單的if else if   else的判斷

  1. 判斷和input的結合

這是因爲input()返回的數據類型是strstr不能直接和整數比較,必須先把str轉換成整數。Python提供了int()函數來完成這件事情

但是如果我們輸入的不是純數字,而是帶字母或者其他的,就會報錯

三、循環

  1. 簡單的for in 循環

  1. range 和list

  1. 簡單的while循環

  1. break語句,結束循環

  1. continue語句,跳過本次循環

四、dict & set

1、dict 字典

   # dict的特點:查找和插入速度極快,不會隨着key的增長而速度變慢

   # dict的缺點:需要佔用大量的內存,內存浪費多

  1. dict的定義

  1. 如果dict中的key不存在,dict會報錯,解決辦法:
    1. 報錯信息

    1. in判斷,用in判斷key是否存在

    1. get()判斷,如果不存在返回none,否則返回下標

所以,dict是用空間來換取時間的一種方法。dict的key必須是不可變對象。dict是根據key來計算value的存儲位置,這種通過key計算位置的算法稱爲hash哈希算法。在Python中,字符串、整數都是不可變的,可以做key,而list是可變的,不能做key

2、set

  1. set和dict類似,也是一組key的集合,但不存儲value。
  2. 創建set
    1. 創建set需要提供一個list集合,list輸出是無序的

    1. 如果list裏面有重複元素,set會自動過濾

  1. set的add方法,添加元素到set中,可以重複添加,但不會有效果

  1. remove方法,刪除元素

  1. set可以看成是數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學上的交集、並集等操作

  1. set的key不可以是可變對象。如下,key值是list就會報錯

五、不可變對象

# 因爲str1是變量,‘abc’纔是字符串對象,str1只是存儲了指向‘abc’這個字符串對象的指針。

# 當我們調用replace方法的時候,實際上replace是作用在字符串對象上的,replace並沒有改變‘abc’,它創建了一個新字符串對象‘Abc’

# 所以,對於不變對象來說,調用對象方法,不會改變對象自身內容。相反,會創建新的對象返回。這樣,確保了不可變對象本身用於是不可變的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章