迭代
可以通過 for 循環來遍歷 list 或 tuple,這種遍歷我們稱為迭代(Iteration)
只要是可迭代對象,都可以迭代,比如字典
默認情況下,字典迭代的是key值
如何讓判斷一個類型是否可迭代
from collections import Iterable #導入collections模塊的Iterable類型判斷方法 print(isinstance({"abc":1},Iterable)) True列表生成式
Python 內置的非常簡單卻強大的可以用來創建 list的生成式
列表生成方法for循環
#輸出0~9之間偶數的平方 li= [] for i in range(0,10,2): li.append(i**2) li [0, 4, 16, 36, 64]
列表生成式
print([i**2 for i in range(0,10,2)]) [0, 4, 16, 36, 64]
列表生成式相對循環語句,代碼簡潔
#找出1~100之間所有質數 #質數(prime number)又稱素數,有無限個。 #質數定義為在大于1的自然數中,除了1和它本身以外不再有其他因數。 def isprime(num): for i in range(2, num): if num % i == 0: return False else: return True val = int(input("請輸入一個數:")) print([i for i in range(2, val) if isprime(i)]) 請輸入一個數:100 [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]字典生成式
#合并大小寫 #key值最終為小寫 d1={"a":10,"b":3,"A":10,"B":8} print({k.lower():d1.get(k.upper(),0)+d1.get(k.lower(),0)for k,v in d1.items()}) {"a": 20, "b": 11, "c": 13}生成器
通過列表生成式,我們可以直接創建一個列表,受到內存限制,列表容量肯定是有限的
創建一個包含 100 萬個元素的列表,占用很大的存儲空間
生成器是什么?
在循環的過程中不斷推算出后續的元素呢?這樣就不必創建完整的 list,從而節省大量的空間。在 Python 中,這種一邊循環一邊計算的機制,稱為生成器(Generator)
讀取生成器next()
for循環
#Fibnonacci數列 #1,1,2,3,5,8,13,.... #yield:函數中帶有yield,那么這個函數的返回值就是一個生成器 #如果要執行函數內容,需要調用next方法或者for循環 #當執行next方法時,遇到yield程序停止 #直到下一次next方法時,從上一次yiled停止的地方繼續執行,遇到yeild停止 def fibnnonacci(num): #num表示將來顯示幾個值 a,b,count = 0,1,0 #count是已經顯示過的次數 while count<=num: yield b a,b = b,a+b count+=1 res = fibnnonacci(100) print(next(res)) print(next(res)) print(next(res)) print(next(res)) 1 1 2 3 Process finished with exit code 0
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/42250.html
摘要:定義字典存放鍵值對,且值可以是任意的數據類型集合常用方法第一個參數可以是列表元組字符串集合,將參數中每一個值作為值并且所有值都相同生成個銀行卡號,默認密碼為特性字典不支持索引,切片,重復,連接。 定義 字典存放 key - value(鍵值對),且value值可以是任意的數據類型 m ={sheen:[100,99,100],star:[97,100,100]} print(m,typ...
摘要:高階函數實參是一個函數名函數的返回值是一個函數傳遞的參數包含函數名。內置高階函數函數函數接收兩個參數一個是函數一個是序列將傳入的函數依次作用到序列的每個元素并把結果作為新的返回。 高階函數 實參是一個函數名 函數的返回值是一個函數 print(abs(-10)) f = abs print(f(-10)) #傳遞的參數包含函數名。 def myfun(x,y,fun): ...
摘要:集合定義集合里面的元素是不可重復的如何定義一個空集合默認情況是,稱為字典定義一個空集合集合應用列表去重集合特性集合支持的特性只有成員操作符。 集合定義 集合里面的元素是不可重復的; s={1,1,2,3,4,2,2} print(s) {1, 2, 3, 4} 如何定義一個空集合? s1 = {} # 默認情況是dict, 稱為字典 print(s1,type(s1)) {} 定...
摘要:模塊是一個文件,以結尾,包含了對象定義和語句模塊讓你能夠有邏輯地組織你的代碼段。把相關的代碼分配到一個模塊里能讓你的代碼更好用,更易懂。命令執行成功,執行結果命令執行失敗一秒后執行關機命令 Python 模塊(Module) 是一個 Python 文件,以 .py 結尾,包含了 Python 對象定義和Python語句 模塊讓你能夠有邏輯地組織你的 Python 代碼段。 把相關的代...
閱讀 1377·2021-10-08 10:04
閱讀 2681·2021-09-22 15:23
閱讀 2724·2021-09-04 16:40
閱讀 1172·2019-08-29 17:29
閱讀 1492·2019-08-29 17:28
閱讀 2988·2019-08-29 14:02
閱讀 2221·2019-08-29 13:18
閱讀 838·2019-08-23 18:35