['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]
['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]
的意思
['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]
的意思
2015-02-19
先把'<tr><td>%s</td><td>%s</td></tr>' % (name, score)部分用gtr表示,
则此代码可以表示为[gtr for name, score in d.iteritems()]
我们先看gtr部分,字符串可以通过 % 进行格式化,用指定的参数替代 %s,所以gtr表示一个字符串。举个例子,如果name=Mike,score=90,那么gtr='<tr><td>Mike</td><td>90</td></tr>'。
再看整个这代码,这是个利用for循环迭代dict d的复杂表达式,取出的name,score将会一一带入gtr,构成一个元素为字符串的list。
举报