關于復雜表達式
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()] 這句是怎么理解的?
return '<tr><td>%s</td><td>%s</td></tr>' % (name, score) 還有這句后面加% (name, score) 是什么意思?
2017-04-09
tds = [generate_tr(name, score)?for name, score in d.iteritems()]中for前面函數generate_tr(name, score)可看作對name,scoure做了一個處理,他其實是???????????
?? for name, score in d.iteritems():
?????????????generate_tr(name, score)?
的變形,最后把這個for循環的結果賦值給變量tds。???????????
'<tr><td>%s</td><td>%s</td></tr>' % (name, score) 還有這句后面加% (name, score)?,自己的理解是這個跟C 語言中的printf()格式化輸出很像,??% (name, score)這個中的%對應前面占位符%s中的%,??()中是對應的變量,也可以把這個(name, score)??看作tuple? ,個人拙見,僅供參考!望前輩批評指正!