亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

復雜表達式

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 后面的返回值?

正在回答

2 回答

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)

嗯?

3 回復 有任何疑惑可以回復我~
#1

慕沐4974640 提問者

這樣子就明白了 非常感謝你的幫助
2017-04-09 回復 有任何疑惑可以回復我~

說清楚哪里不理解啊。。。兄弟

0 回復 有任何疑惑可以回復我~
#1

慕沐4974640 提問者

tds = [generate_tr(name, score) for name, score in d.iteritems()] 這句是怎么理解的? return '<tr><td>%s</td><td>%s</td></tr>' % (name, score) 還有這句后面加% (name, score) 是什么意思?
2017-04-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758392    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

復雜表達式

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號