復雜表達式
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
def generate_tr(name, score):
? ? if score < 60:
? ? ? ? return '<tr><td>%s</td><td style="color:red">%s<td></tr>' % (name , score)
? ? return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
tds = [generate_tr(name, score) for name, score in d.iteritems()]
print '<table border="1">'
print '<tr><th>Name</th><th>Score</th><tr>'
print '\n'.join(tds)
print '</table>'
中的 ?tds = [generate_tr(name, score) for name, score in d.iteritems()] ?這句是怎么理解的?
d.iteritems() 是將dict轉化為包含tuple的一個list ? ?generate_tr(name, score)是調用前面的函數 但是 對于加了 for 這個英語邏輯關系是怎么理解的? ?是先理解for后面的?d.iteritems() 是將dict轉化為包含tuple的一個list中的name, score 傳入自定義函數里面?執行return 后面的返回值?
2017-04-09
tds = [generate_tr(name, score) for name, score in d.iteritems()]?
這句話首先要理解generate_tr(name, score) ?這個定義的函數是什么意義
這個函數的意思 就是對一個(名字,分數)這樣一個整體 ?判斷分數小于60的時候
返回的表格變成紅色 ?就是這個意思
然后tds = [generate_tr(name, score) for name, score in d.iteritems()] 這個語句就很簡單了
就是一個簡單的for循環 ,將 d這個list 里面的 內容(名字:分數)全都輸入到generate_tr(name, score)這個函數里面判斷一下
return '<tr><td> ? ? ?%s ? ? ? ? </td><td> ? ? ? ? ? ? %s ? ? ? ? ? </td></tr>' % (name, score)?
?
這個&(name,score) 就是對 語句里面兩個 %s格式輸入的 ?輸出 ??
簡單的來講。。就是 print 'My name is %s I love %s'%(Tom,Dog)
嗯?
2017-04-08
說清楚哪里不理解啊。。。兄弟