`

Python 复杂表达式

阅读更多

复杂表达式

使用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正则表达式操作指南(re使用)

    当然也有些任务可以用正则表达式完成,不过最终表达式会变得异常复杂。碰到这些情形时,编写 Python 代码进行处理可能反而更好;尽管 Python 代码比一个精巧的正则表达式要慢些,但它更易理解。

    python实现的正则表达式功能入门教程【经典】

    本文讲述了python实现的正则表达式功能。分享给大家供大家参考,具体如下: 前文: 首先,什么叫正则表达式(Regular Expression)? 例如我们要判断字符串”adi_e32fv,Ls”里面是否含有子串”e32f”,又例如我们在...

    基因表达式编程(GEP)自学 第【6】天 Python 代码

    **今天将用python实现GEP算法中,染色体选择,复制,变异等的内容** 【PS:注意结合前边内容,今天的内容比较多,包括染色体选择、复制、变异等内容,需要对GEP的基本知识内容认识。】见文章,本文链接:...

    简单的通用表达式求10乘阶示例

    您可能感兴趣的文章:python基础教程之lambda表达式使用方法python正则表达式去掉数字中的逗号(python正则匹配逗号)python正则表达式判断字符串是否是全部小写示例python实现问号表达式(?)的方法python正则表达式...

    Python lambda表达式用法实例分析

    本文实例讲述了Python lambda表达式用法。分享给大家供大家参考,具体如下: lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。 lambda所表示的匿名函数的内容...

    Java及python正则表达式详解

    正则表达式有元字符及不同组合来构成,通过巧妙的构造正则表达式可以匹配任意字符串,并完成复杂的字符串处理任务

    python的正则表达式re模块的常用方法

    Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,在文本解析、复杂字符串分析和信息提取时是一个非常有用的工具,下面我主要总结了re的常用方法

    Python基于正则表达式实现检查文件内容的方法【文件检索】

    本文实例讲述了Python基于正则表达式实现检查文件内容的方法分享给大家供大家参考,具体如下: 这个是之前就在学python,欣赏python的小巧但是功能强大,是连电池都自带的语言。平时工作中用Java ,觉得python在日常...

    python正则表达式中的括号匹配问题

    PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配。 补充一点,我放在notepad++中用的时候,两种写法都能匹配出来,不知道为什么python中就不行了。 答案: python的正则...

    Python 正则表达式完整示例教程

    正则表达式一般用来在文本中查找和替换字符串,再简单的文本中我们可以直接使用字符串查找,但是在大量数据和复杂结构中查找指定字符串不方便并且效率低,因此学习正则表达式显得非常有必要。 文章目录正则表达式元...

    python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案

    主要介绍了python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    正则表达式经典实例

    《正则表达式经典实例》旨在教会读者很多新的技巧以及如何避免语言特定的陷阱,读者可以通过《正则表达式经典实例》提供的实例解决方案库来解决实践中的复杂问题。 《正则表达式经典实例》:每个程序员都会遇到...

    2019千峰Python超详细入门教程(百度云盘分享).docx

    ├─千锋Python教程:第02章 运算符与表达式(7集) │ │ .DS_Store │ │ │ ├─code │ │ 1、运算符与表达式.py │ │ 2、运算符与表达式.py │ │ │ └─video │ 千锋Python教程:10.算术&赋值&位&关系...

    精通正则表达式 中英文

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    Python利用正则表达式实现计算器算法思路解析

     4、将四则运算表达式进行预处理:表达式开头有负数时,在表达式前加上一个0  5、利用re.split()、re.findall()方法,通过加减符号,对四则运算进行拆分为乘除运算式和数字,并保留对应的位置下标。  6、利用re....

Global site tag (gtag.js) - Google Analytics