[每日一課】 Python官方文檔--- 函數進階

  1. 切片。
  2. 迭代
  3. 列表生成式: List Comprehensions. Python內置的非常簡單卻強大的可以用來創建list的生成式。
def lower(list):
    if len(list) == 0:
        return list
    else:
        return [s.lower() for s in list if isinstance(s, str)]

def lower2(list):
    r = []
    if len(list) == 0:
        return list
    else:
        for s in list:
            if isinstance(s, str):
                r.append(s.lower())
            else:
               r.append(s)
    return r

第一種方法中, 非字符串被過濾掉了。 二層循環也支持. for k, v in dict.items()

  1. generator: 在Python中, 這種一邊循環一邊計算的機制,稱之爲生成器。
def fibonacci(limit):
    fa = 0
    fb = 1
    n = 0

    while n < limit:
        print(fb)
        fa, fb = fb, fa + fb
        n = n + 1
    return

def fibonacci2(limit):
    fa = 0
    fb = 1
    n = 0

    while n < limit:
        yield(fb)
        fa, fb = fb, fa + fb
        n = n + 1
    return
  1. 凡是可作用於for循環的對象都是Interable類型。
    凡是可以作用於next()函數的對象都是Interator類型。
    集合數據類型如list, dict, str等都是Interable但不是Interator. 可以通過iter()函數獲得一個Interator對象。  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章