2017.6.4
參考資料
列表生成式-廖雪峰的官方**
可以使用list comprehensions來建立list,它是python內建的,非常簡單,非常強大。
要生成list[1,2,3,4,5,6],使用list(range(1,7))
>>> list(range(1,7))
[1, 2, 3, 4, 5, 6]
要生成[1x1, 2x2, 3x3, …, 10x10],怎麼做?
當我們使用迴圈的時候
>>> l=
>>> for x in list(range(1,11)):
...>>>
>>> l
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
當我們使用列表生成式時
>>> [x*x for x in list(range(1,10))]
[1, 4, 9, 16, 25, 36, 49, 64, 81]
for迴圈後面還可以加上if判斷,這樣我們就可以篩選出符合自己條件的數字,如果我們想篩選出偶數的平方
>>> [x*x for x in list(range(1,10)) if x%2==0]
[4, 16, 36, 64]
>>> [x+y for x in
'123'
for y in
'abc']
['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']
這裡在做的時候遇到乙個小問題
>>> dict=
>>> [k + '=' + v for k,v in dict.items()]
traceback (most recent call last):
file "", line
1, in
file "", line
1, in
typeerror: can't convert 'int' object to str implicitly
value不能是整形
更改value成string型別,重新做
>>> dict=
>>> [k + '=' + v for k,v in dict.items()]
['b=b', 'c=c', 'a=a']
把乙個list中所有的字串變成小寫:
>>> [s.lower() for s in l]
但是,當list中既包含字串,又包含整數,由於非字串型別沒有lower()方法,所以列表生成式會報錯
>>> [s.lower() for s in l]
traceback (most recent call last):
file "", line
1, in
file "", line
1, in
attributeerror: 'int' object has no attribute 'lower'
下面,修改列表生成式,通過新增if語句保證列表生成式能正確地執行,提示,內建的isinstance函式可以判斷乙個變數是不是字串:
>>> [s.lower() for s in l if isinstance(s,str)==true]
學習筆記 07 python入門 模組
立即學習 1 安裝模組 1,cmd下 2,pip install 2 解除安裝模組 1,cmd下 2,pip uninstall 3 模組 函式 程式的集合體 類似api概念 有系統已存在的,也可以自定義自己的模組 4 匯出模組 download as 模組名.py 5 匯入模組 1.import ...
07 Python小節案例
採集乙個人的身高,體重,年齡和性別 告訴ta,自己的體脂率是否在正常範圍之內 1.知識考察點 注釋 輸入輸出 變數使用 變數的命名規範 運算子的使用 資料型別轉換 2.體脂率計算公式 bmi 體重 kg 身高 身高 公尺 體脂率 1.2 bmi 0.23 年齡 5.4 10.8 性別 男 1 女 0...
07 Python函式基礎
1.函式簡介 2.函式引數 3.函式作用域 4.遞迴函式 5.高階函式1.函式簡介 1.1 函式分類 語法 deffunname parm1,parm2.expresssions 2.函式引數 2.1 形參與實參 2.2 引數傳遞方式 def f1 name,age print name name,...