python 之所以受欢迎就是因为它简单易用,而且很强大!
python 的列表生成式可以方便的生成我们想要的列表类型的数据,重点是我们想要的。
本篇文章就来为大家演示表单类型的 html 代码是如何生成的,希望大家通过引导可以有更好的想法,做出更有创意的脚本出来,分享给大家!
# -*- coding: utf-8 -*- # dict类型数据 d = { '乔丹': 2.1, '姚明': 2.3, '科比': 1.9 } # 转化方法 # 字符串可以通过 % 进行格式化,用指定的参数替代 %s。 def switch(a, b, c): return '<tr><td>%s</td><td>%s</td><td>%s</td></tr>' % (c, a, b) # 两个循环每个人名遍历3次,每次序号1,2,3 html_code = [switch(a, b, c) for a,b in d.items() for c in range(1, 4) ] # 保存为html文件 f=open("D:/html_code.html","w") f.write('<table border="1" style="color:red">') f.write('<tr><th>序号</th><th>球星</th><th>身高</th><tr>') # 字符串的join()方法可以把一个 list 拼接成一个字符串。 f.write('\n'.join(html_code)) f.write('</table>') f.close()
生成的 html 文件内容如下,浏览器打开就能看出效果了。
<table border="1" style="color:red"><tr><th>序号</th><th>球星</th><th>身高</th><tr><tr><td>1</td><td>乔丹</td><td>2.1</td></tr> <tr><td>2</td><td>乔丹</td><td>2.1</td></tr> <tr><td>3</td><td>乔丹</td><td>2.1</td></tr> <tr><td>1</td><td>姚明</td><td>2.3</td></tr> <tr><td>2</td><td>姚明</td><td>2.3</td></tr> <tr><td>3</td><td>姚明</td><td>2.3</td></tr> <tr><td>1</td><td>科比</td><td>1.9</td></tr> <tr><td>2</td><td>科比</td><td>1.9</td></tr> <tr><td>3</td><td>科比</td><td>1.9</td></tr></table>
运行效果如下:
下面来讲一下列表生成式
[switch(a, b, c) for a,b in d.items() for c in range(1, 4) ]
switch() 是方法,把值传入,调用方法,生成代码;
for 循环可以嵌套多层,第一个循环遍历 dict 类型数据,第二个循环遍历包含 1,2,3 的列表,后面的循环嵌套在前面的循环里面;
后面还能加 if 语句来过滤呢,比如 if c>2,表示 c>2 时取到的值才会生成列表;
[switch(a, b, c) for a,b in d.items() for c in range(1, 4) if c>2]
给大家看下改进的效果
喜欢的点个赞❤吧!