python學習筆記——生成器(generator)
列表生成式可以簡潔的建立一個list,生成器可以建立一個演算法,通過迭代生成需要的元素
建立方法有兩種:
1.將列表生成式中[]換成()
>>> g = (x*x for x in range(11))
>>> g
<generator object <genexpr> at 0x10ac5d5c8>
>>> for i in g:
... print(i)
...
0
1
4
9
16
25
36
49
64
81
100
2. yield
函式中如果出現了yield,就表明這是一個generator
generator的優點是記憶體佔用少,可根據需要提取元素>>> def fib(max): ... n,a,b = 0,0,1 ... while n<max: ... yield b ... a,b = b,a+b ... n += 1 ... return 'done' ... >>> f = fib(6) >>> f <generator object fib at 0x10ac5d4c0>
相關推薦
python學習筆記——生成器(generator)
列表生成式可以簡潔的建立一個list,生成器可以建立一個演算法,通過迭代生成需要的元素 建立方法有兩種: 1.將列表生成式中[]換成() >>> g = (x*x for x in range(11)) >>> g <generat
python學習-day6-生成器(generator)
expr 無法 color 循環調用 限制 10個 數列 例子 ner 一,列表生成式 ls = [i*i for i in range(10)]ls[0, 1, 4, 9, 16, 25, 36, 49, 64, 81] ge = (i*i for i in range(
python學習筆記字典(四)
python字典是python中唯一的映射類型,采用鍵值對(key-value)的形式存儲數據。python對key進行哈希函數運算,根據計算的結果決定value的存儲地址,所以字典是無序存儲的,且key必須是可哈希的。可哈希表示key必須是不可變類型,如:數字、字符串、元組。字典(dictionary)是除
Python學習筆記15(socketservre)
read col end self connect base __name__ continue 多線程開發 利用socket模塊創建socket通信服務,但發現利用socket模塊創建的服務無法進行多線程的處理,當需要進行大量請求處理時,請求就會阻塞在隊列中,甚至發生請求
python學習筆記SQLAlchemy(八)
目的 不可 完整 nullable null username oot lena 註意 ORM 與 SQLAlchemy 簡介 ORM 全稱 Object Relational Mapping, 翻譯過來叫對象關系映射。簡單的說,ORM 將數據庫中的表與面向對象語言中的類建
python學習筆記:(九)迴圈(for和while)
在python中迴圈包括for和while 1、while迴圈 while 判斷條件: statements ----表示:判斷條件為真時執行statements,為假不執行 2、for語句 for var in seq: statements1 else:
python學習筆記7(turtle)
turtle包常用操作 **簡介:**是一個簡單的繪圖工具,提供一個小海龜,可以把它理解為一個機器人,只能聽得懂有限的命令。繪圖視窗的原點(0,0)在正中間,預設海龜的方向是右側。 運動命令 forward(d) 向前移動d長度 backward(d) 向後移動d長度 right(d
python學習筆記3(字串)
字串 定義:以單引號或雙引號括起來的任意文字 #建立字串 str1 = 'sunck is a good man!' 字串運算 #字串連線 str2 = 'sunck is a' str3 = 'good man' str4 = str2 +str3 print(str4)
python學習筆記11(函式)
函式 概述: 在一個完整的專案中,某些功能會反覆的使用。那麼會將功能封裝成函式,當我們要使用功能的時候直接呼叫函式即可 本質:函式就是對功能的封裝 優點 1、簡化程式碼結構,增加了程式碼的複用度(重複使用的程度) 2、如果想修改某些功能或者除錯某個BUG,只需要修改對應的函式即可
python學習筆記總結(1)
一.python中的幾種資料型別: 1 Number(數字) 包括int,long,float,complex 2 String(字串) 3 List(列表) 4 Dictionary(字典) 5 Tuple(元組) 6 Bool(布林) 包括True
Python學習筆記——列表(list)
列表(list) 是一種集合。特點:[]定界符、可變、有序、支援下標、逗號分隔、元素可以重複、元素查詢速度非常慢。 列表中的資料型別可以不同。 常用方法: i.append(x):將元素x新增到列表i尾部 i.extend(L):將列表L中所有元素新增至列表i尾部 i.insert(index
Python學習筆記——字典(dict)
字典(dict) 字典也是一種資料型別,特點:{}界定符、可變、無序、支援‘鍵’做下標、逗號分隔、‘鍵’必須可雜湊、‘鍵’始終唯一、查詢速度非常快。形式—— 鍵:值 (鍵值對),字典中的鍵可以為任意不可變資料。 建立字典: len()可以獲取字典的元素個數: 字典元素增加: 字典值修改:
python學習筆記18(模組)
模組 概述: 隨著程式碼量越來越多,程式碼就越來越難以維護。為了解決難以維護的問題,我們把很多相似功能的函式分組,分別放到不同的檔案中取。這樣每個檔案所包含的內容相對較少,而且對於每一個檔案的大致功能可用用檔名來體現。很多程式語言都是這麼來組織程式碼結構。一個.py檔案就是一個模組
python學習筆記——函式(三)
今天我們學習函式最後一部分 一 .函式:內嵌函式與閉包 (1)函式中如何修改全域性變數且對全域性產生影響?? (2)函式中是否可以再巢狀函式?? (3)倘若可以巢狀函式,內部函式是否可以引用外部函式的變數?? 帶著問題進入學習——> 1
Python學習筆記-概述(1)
⑴Python的特點: ①面向過程、面向物件;②語法簡單、易學易用;③跨平臺(java .net)、具有可移植性;④模板豐富、功能強大;⑤具有很好的擴充套件性 ⑵搭配開發環境 ① 開發環境:Windows、Linux/UNIX、Mac OS
python學習筆記:(十五)迭代器和生成器
一、迭代器: 1、迭代器是python最強大的功能之一,是訪問集合元素的一種方式。 2、迭代器是一個可以記住遍歷的位置的物件。 3、迭代器物件從集合的第一個元素開始訪問,直到所有的元素被訪問結束。迭代器只能往前不能後退。 4、迭代器的兩個基本方法:iter()和next() 5、
Python學習筆記19(算法)
while bdc bubble == append 算法 ef7 -a += 1.二分查找 只能用二分查找查找有序列表 def bin_search(data,val): #data為被查找的列表,val是要查找的值 low = 0 high = l
Python學習筆記21(讀取配置文件)
文件 class strong color () for 新的 -i .config 1、基本的讀取操作 -read(filename) 直接讀取文件內容 -sections() 得到所有的sectio
Python學習筆記22(urllib模塊)
ror 轉換 decode urllib模塊 one 處理 context hello mpat Python3和Python2的urllib模塊不太一樣,本篇文章是以Python3為前提。 1.urlopen的使用 import urllib.request urll
python 學習筆記二 (列表推導式)
2018年年初寫了第一篇部落格,說要做一個認真的技術人 https://www.cnblogs.com/yingchen/p/8455507.html 今天已經是11月19日了,這是第二篇部落格,看來堅持確實是個好難的東西。雖然沒寫筆記,今年一年對python的使用還是可以的, 今天繼續: