复杂表达式
使用for循环的迭代不仅可以迭代普通的list,还可以迭代dict。
假设有如下的dict:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
完全可以通过一个复杂的列表生成式把它变成一个 HTML 表格:
tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()] print '<table>' print '<tr><th>Name</th><th>Score</th><tr>' print '\n'.join(tds) print '</table>'
注:字符串可以通过 % 进行格式化,用指定的参数替代 %s。字符串的join()方法可以把一个 list 拼接成一个字符串。
把打印出来的结果保存为一个html文件,就可以在浏览器中看到效果了:
<table border="1"> <tr><th>Name</th><th>Score</th><tr> <tr><td>Lisa</td><td>85</td></tr> <tr><td>Adam</td><td>95</td></tr> <tr><td>Bart</td><td>59</td></tr> </table>
任务
在生成的表格中,对于没有及格的同学,请把分数标记为红色。
提示:红色可以用 <td style="color:red"> 实现。
如果我们用一个函数来替换字符串的格式化代码,可以得到更清晰的代码:
def generate_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()]
这样,只需要修改 generate_tr() 函数,必要的时候把score标红。
参考代码:
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>'
相关推荐
一个基本的、可以计算相当复杂的算数表达是的递归下降、解析器。使用python实现。是一个练习python非常好的小项目。
当然也有些任务可以用正则表达式完成,不过最终表达式会变得异常复杂。碰到这些情形时,编写 Python 代码进行处理可能反而更好;尽管 Python 代码比一个精巧的正则表达式要慢些,但它更易理解。
本文讲述了python实现的正则表达式功能。分享给大家供大家参考,具体如下: 前文: 首先,什么叫正则表达式(Regular Expression)? 例如我们要判断字符串”adi_e32fv,Ls”里面是否含有子串”e32f”,又例如我们在...
**今天将用python实现GEP算法中,染色体选择,复制,变异等的内容** 【PS:注意结合前边内容,今天的内容比较多,包括染色体选择、复制、变异等内容,需要对GEP的基本知识内容认识。】见文章,本文链接:...
您可能感兴趣的文章:python基础教程之lambda表达式使用方法python正则表达式去掉数字中的逗号(python正则匹配逗号)python正则表达式判断字符串是否是全部小写示例python实现问号表达式(?)的方法python正则表达式...
本文实例讲述了Python lambda表达式用法。分享给大家供大家参考,具体如下: lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。 lambda所表示的匿名函数的内容...
正则表达式有元字符及不同组合来构成,通过巧妙的构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务
Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,在文本解析、复杂字符串分析和信息提取时是一个非常有用的工具,下面我主要总结了re的常用方法
本文实例讲述了Python基于正则表达式实现检查文件内容的方法分享给大家供大家参考,具体如下: 这个是之前就在学python,欣赏python的小巧但是功能强大,是连电池都自带的语言。平时工作中用Java ,觉得python在日常...
PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配。 补充一点,我放在notepad++中用的时候,两种写法都能匹配出来,不知道为什么python中就不行了。 答案: python的正则...
正则表达式一般用来在文本中查找和替换字符串,再简单的文本中我们可以直接使用字符串查找,但是在大量数据和复杂结构中查找指定字符串不方便并且效率低,因此学习正则表达式显得非常有必要。 文章目录正则表达式元...
主要介绍了python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
《正则表达式经典实例》旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过《正则表达式经典实例》提供的实例解决方案库来解决实践中的复杂问题。 《正则表达式经典实例》:每个程序员都会遇到...
├─千锋Python教程:第02章 运算符与表达式(7集) │ │ .DS_Store │ │ │ ├─code │ │ 1、运算符与表达式.py │ │ 2、运算符与表达式.py │ │ │ └─video │ 千锋Python教程:10.算术&赋值&位&关系...
如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...
4、将四则运算表达式进行预处理:表达式开头有负数时,在表达式前加上一个0 5、利用re.split()、re.findall()方法,通过加减符号,对四则运算进行拆分为乘除运算式和数字,并保留对应的位置下标。 6、利用re....