一.切片
字串、列表、元祖可以切片,字典和集合不能切片
二. 迭代
1.任何可以迭代的物件都可以用for迴圈遍歷;
2.字典的迭代:預設是通過key進行迭代的;
集合:字典:
3.字典的列舉:列舉只能返回返回兩個值,乙個是索引下標,乙個是迭代的元素;
4.for 迴圈裡,同時引用了兩個變數,在 python 裡是很常見的;
如果要顯示[(1,2),(2,3),(3,4)]怎麼實現迭代顯示?
5.怎麼去判斷是否可迭代
isinstance("abc",iterable)
三.列表生成式
列表生成式,其實就是生成列表的一種方式,是python內建的;
1.簡單的列表生成式
[ i*i for i in range(10) ] 返回1-10平方的乙個列表;
[ fun(i) for i in l] 對列表的每個元素執行某個函式操作;
對1-10的數做2n+1的變化
100以內偶數的平方
2.for...if的巢狀
[ i*i for i in range(1,10) if i%2==0] 返回1-10之間所有的偶數
[ i for i in range(1,10) if isprime(i)] 返回1-10之間所有的質數,判斷質數的函式是自定義的;
3.for...for...的巢狀
[ i+j for i in "abc" for j in "123"] # 返回"abc"和"123"的所有組合;、
4.for...for...的巢狀
轉化為大寫字母
判斷是否字串,如果是,執行轉為大寫
isinstance('a',str) 判斷a是否字串
四.生成器
1.生成器的定義
在迴圈的過程中不斷推算出後續的元素呢?這樣就不必建立完整的 list,從而節省大量的空間。在 python 中,這種一邊迴圈一邊計算的機制,稱為生成器(generator)
- 列表生成式可以直接建立乙個列表,但列表容量受記憶體的限制;
- 在python中一邊迴圈一邊計算的機制,稱為生成器(generator);就是你需要多少,它就生成多少;2.為什麼需要生成器
通過列表生成式,我們可以直接建立乙個列表,受到記憶體限制,列表容量肯定是有限的;
建立乙個包含 100 萬個元素的列表,占用很大的儲存空間;
3.建立生成器的方法和檢視生成器元素的方式:
(1)將列表生成式的改為();
使用生成器的next方法;(不常用)
(2)在定義的函式中加入yield關鍵字;
生成器是可迭代的物件,直接通過for迴圈檢視;
fib 函式定義了斐波拉契數列的推算規則,可以從第乙個元素開始,推算出後續任意的元素,邏輯非常類似 generator。要把 fib 函式變成 generator,只需要把print b 改為 yield b 就可以.
函式順序執行,遇return語句或最後一行函式語句就返回。
generator函式在每次呼叫next() 的時候執行,遇到 yield 語句返回,再次執行時從上次返回的yield 語句處繼續執行。
4.生成器應用:生產者消費者模型
例:
pytho序列,字串,元組 學習筆記
python string.zfill 方法 函式 墊零左側的字串,以填補寬度。python 序列操作 seq ind 獲得下標為 ind 的元素 seq ind1 ind2 獲得下標從 ind1 到 ind2 間的元素集合 seq expr 序列重複 expr 次 seq1 seq2 連線序列 s...
劍指offer 翻轉單詞順序序列 Python
牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a student....
Python學習筆記 1 1 2 認識Python
一.課程目標 二.詳情解讀 1.初識pythonpython語言是一種高階程式語言,它於1991年由吉多.範羅蘇姆 guido van rossum 發明。目前主要應用於web開發 gui開發 網路爬蟲 資料科學 人工智慧等領域。python官方 python語言也是一種多正規化程式語言,即物件導向...