1.三元操作符
x if c else y>>> x,y=4,3
>>> if x < y:
... smaller = x;
... else:
... smaller = y;
...>>> smaller
3>>> smaller = 0;
>>> smaller = (x>> smaller
3>>> smaller = x if x >> smaller
3
2.迭代序列有三種方法。
通過序列項迭代:
>>> namelist=['walter',"nicole",'steven','henry']
>>> for eachname in namelist:
... print eachname, "lim"
...walter lim
nicole lim
steven lim
henry lim
通過序列索引迭代
>>> for nameindex in range(len(namelist)):
... print "liu,",namelist[nameindex]
...liu, walter
liu, nicole
liu, steven
liu, henry
使用項和索引迭代
使用enumerate()函式
>>> for i, eachlee in enumerate(namelist):
... print "%d %s lee" % (i+1, eachlee)
...1 walter lee
2 nicole lee
3 steven lee
4 henry lee
3.如果在需要子句塊的地方不寫任何語句,直譯器會提示你語法錯誤。因此,python提供了pass語句,它不做任何事情——即nop(no operation).
4.在python中,你可以在while和for迴圈中使用else語句。在迴圈中使用時,else子句只會在迴圈完成後執行,也就是說break語句也會跳過else塊。
def showmaxfactor(num):
count = num/2;
while count > 1:
if num %count == 0:
print 'largest factor of %d is %d' % (num, count);
break;
count -= 1;
else:
print num, 'is prime';
for eachnum in range(10,21):
showmaxfactor(eachnum);
5. 列表解析:
[expr for iter_var in iterable] //核心是for迴圈,它迭代iterable物件的所有條目,前面的expr應用於序列的每個成員,最後的結果值是該表示式產生的列表。
[expr for iter_var in iterable if cond_expr] //這個語法會在迭代時過濾/捕獲滿足條件表示式cond_expr的序列成員
6.生成器表示式:
並不是真正建立數字列表,而是返回乙個生成器,這個生成器在每次計算出乙個條目後,把這個條目「產生」出來,生成器表示式使用了「延遲計算」,所以在使用記憶體上更有效。
(expr for iter_var in iterable if cond_expr)
為了避免建立龐大的列表,我們可以使用生成器表示式來操作。
rows = [1,2,3,17];
def cols():
yield 56
yield 2
yield 1
x_product_pairs = ((i, j) for i in rows for j in cols());
for pair in x_product_pairs:
print pair
Python核心程式設計 第八章練習
再這個題中,我試圖用xrange代替range來解決問題,但是結果輸出了 xrange 2,26,4 這樣奇怪的答案。然後才理解了書上的 xrange不產生列表 這句話的含義。python ifname main numbers raw input please input from,to,incr...
python核心程式設計 第八章 8 15 練習
usr bin python coding utf 8 8 2.迴圈.編寫乙個程式,讓使用者輸入三個數字 f rom,t o,和 i ncrement 以 i為步長,從 f 計數到 t 包括 f 和 t 例如,如果輸入的是 f 2,t 26,i 4 程式將輸出 2,6,10,14,18,22,26....
第八章 指標 第八章 指標
1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...