复杂表达式
使用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>'
相关推荐
在使用Pyregex时,用户可以通过这些元字符和组合,创建出复杂的正则表达式模式,进行各种复杂的文本匹配任务。 Pyregex-master这个压缩包可能包含了Pyregex项目的源代码,包括HTML、JavaScript和CSS文件,以及可能...
Python正则表达式基础是学习如何在Python中应用正则表达式的入门指南。正则表达式,或称为REs、regexes、regexpatterns,是能够嵌入到Python中的一个精细、高度专业化的程序语言。通过re模块,程序员得以使用这一...
Python正则表达式是Python编程语言中用于处理文本的强大工具,它允许程序员高效地搜索、匹配、替换符合特定模式的字符串。深入理解Python正则表达式对于任何希望在数据处理、文本分析或网络爬虫等领域工作的开发者来...
- 在复杂的正则表达式中,注意避免过于贪婪的匹配以及不必要的重复计算。 - 对于性能敏感的应用,可以考虑预编译正则表达式。 - **调试与测试**: - 使用Python自带的`re`模块文档或在线工具进行正则表达式的...
小小明是数据处理专家,擅长解决各种复杂数据处理问题,并且提供了个人笔记,涵盖了正则表达式的各个方面。 1.2 阅读建议 本文档适合对正则有一定基础了解的朋友系统性学习。初学者建议在学习本文档之前,先学习...
Python正则表达式是Python编程语言中的一个强大工具,它用于处理字符串,通过模式匹配来查找、替换或提取文本信息。在Python中,正则表达式主要由`re`模块提供支持。本教程将深入探讨Python正则表达式的七种核心功能...
### Python正则表达式详解 #### 一、正则表达式概述 正则表达式(Regular Expression)是一种在计算机科学领域广泛使用的模式匹配工具。它主要用于处理文本数据,包括搜索、替换以及提取文本中的特定模式。许多...
正则表达式中有许多特殊的元字符,用于构建更复杂的模式: - `|`:表示或运算,即A|B表示匹配A或B。 - `[ ]`:表示字符集,用于匹配括号内的任意一个字符。 - `[^ ]`:表示反向字符集,用于匹配不在括号内的字符。 -...
8. **正则表达式优化**:讨论如何编写更高效、更具可读性的正则表达式,避免过度复杂的匹配规则。 9. **实战应用**:结合Python爬虫,展示如何使用正则表达式从网页中抓取数据,如新闻标题、评论内容等。 通过本...
在Python中,正则表达式提供了更多高级功能,如非贪婪匹配、分组、后向引用等,可以进行更复杂的模式匹配和字符串操作。Python的`re`模块提供了`search()`, `match()`, `findall()`, `sub()`等方法来执行正则表达式...
### Python正则表达式详解 #### 一、正则表达式概述 正则表达式(Regular Expressions)是一种强大的文本处理工具,它...随着对正则表达式的深入了解,开发者可以利用更多的高级功能来解决更为复杂的文本处理问题。
Python正则表达式不仅用于简单的文本匹配,还可以用于复杂的文本处理任务,如提取邮箱地址、电话号码等。结合Python的其他功能,如文件操作、网络请求等,正则表达式可以成为强大的数据处理工具。对于初学者,理解并...
Python正则表达式操作指南是一份详细的教学文档,旨在帮助用户了解如何在Python中使用`re`模块进行正则表达式操作。这份指南相较于Python库参考手册的相关章节,更加注重易懂性和逐步引导。文档作者是A.M. Kuchling...
Python计算器是一种基于编程语言实现的计算工具,它可以处理不仅仅是简单的加减乘除,还支持复杂的算术表达式。在这个项目中,我们使用Python语言来构建一个递归下降解析器,这是一种解析器设计技术,用于解释输入的...
通过上述内容,我们可以看到,对于一些复杂的文本匹配需求,通过巧妙运用正则表达式的各种构造,我们可以有效地解决问题。掌握了这些知识,就能在处理文本数据时更加游刃有余。希望这些知识点能够帮助到大家,如果有...
高级阶段,你将接触到更复杂的正则表达式技术,比如使用`|`进行选择,`\b`用于匹配单词边界,`^`和`$`分别用于匹配字符串的开始和结束。你还会学习非贪婪匹配,通过在量词后面加上一个问号(`*?`, `+?`, `??`, `{n,}...
通过不断调整正则表达式中的通配符和量词,可以实现复杂且精确的文本匹配。在使用正则表达式时,确保模式的字符数量不超过字符串的字符数量,否则可能会找不到匹配项。例如,`re.match(r'.*...', '..')`不会匹配,...
Python正则表达式是Python编程语言中的一个强大工具,用于处理文本字符串,它允许程序员进行复杂的文本匹配和替换操作。正则表达式在Python中通过`re`模块提供,这个模块提供了许多函数来实现各种模式匹配功能。在这...