python-复杂生成式
1、复杂的列表生成式HTML表格:
注:字符串可以通过%进行格式,用指定的参数化代替%s。字符串的join()方法可以把一list拼接成一个字符串。
把没有几个的分数标记为红色:
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>'
2、条件过滤
列表生成式的for循环后面还可以加上if判断:
把list中的所有字符串变成大写后返回,非字符串元素将被忽略
提示:
1、isintance(x,str)可以判断变量x是否是字符串
2、字符串的upper()方法可以返回大写字母
def toUppers(L):
return [x.upper() for x in L if isinstance(x,str)]
print toUppers(['Hello', 'world', 101])
3、多层表达式
for循环可以嵌套,因此列表生成式中,可以可以用多层for循环来生成列表
如:对字符串‘ABC’和‘123’,可以使用两层村换,生成全排列
[n+m for m in 'ABC' for n in '123']
练习:利用三层嵌套for循环,找出对称的3位数 如121
print [100*m+10*n+m for m in range(1,10) for n in range (0,10)]
L=[]
for x in range(1,10):
for y in range(10):
for z in range(1,10):
if x==z :
L.append(100*x+10*y+z)
print L
python-复杂生成式的更多相关文章
- Python列表生成式(入门9)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407984.html 本文出自:[Edwin博客园] Python列表生成式 1. 生成列表 L = [] ...
- Python 列表生成式 & 字典生成式
Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...
- Python 列表生成式、生成器、迭代器
列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么 ...
- python列表生成式
在Python编程中,list列表应用的比较广泛,而列表生成式是一个非常强大但是使用很简单的功能. 比如要生成1到100的数组列表[1,2,3,4......,97,98,99,100],可以使用li ...
- python 列表生成式,生成器&迭代器
列表生成式: 需求:要对列表 [0,1,2,3,4,5,6,7,8,9]的每个元素加1 用列表生成式一步搞定: li = [i+1 for i in range(10)] # 这种写法就叫列表生成式 ...
- 初学Python——列表生成式、生成器和迭代器
一.列表生成式 假如现在有这样一个需求:快速生成一个列表[1,2,3,4,5,6,7,8,9,10],该如何实现? 在不知道列表生成式的情况下,可能会这样写: a=[1,2,3,4,5,6,7,8,9 ...
- 【370】Python列表生成式(for 写入一行)
参考: python用列表生成式写嵌套循环的方法_python_脚本之家 参考: python之列表生成式 - 旷野足迹 - 博客园 对于读取Twitter数据最终会得到一个超级复杂的json文件, ...
- 【转】Python 列表生成式
原文:https://blog.csdn.net/heartyhu/article/details/50988007 1. 生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, ...
- python 列表生成式、lower()和upper()的使用
参考: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868196389 ...
- python列表生成式、键盘输入及类型转换、字符串翻转、字母大小写、数组广播、循环语句等基础问题
Python知识总结 1.列表生成式 在实际开发过程中,当需要获取一个连续列表时,可直接使用range(3,10),但是如果获取该列表中每个数据的平方时,通常可以通过for循环来解决这个问题,如下 ...
随机推荐
- Shiro权限框架(二)
一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户"登录": 授权 - ...
- phpcms v9 列表页直接下载功能代码实现
{pc:content action="lists" catid="$catid" num="3" order="id DESC& ...
- 【Spring源码深度解析学习系列】核心类介绍(一)
一.DefaultListableBeanFactory 首先看一下结构 由图可知XmlBeanFactory继承自DefaultListableBeanFactory,而DefaultListabl ...
- 第1次作业:这是我的一个响亮的标题X!
1.我是回答问题的部分 part 1: 从小学开始,我就觉得写作文是一件很痛苦的事情.(痛苦ing) 所以呢,选择工科好像就是理所当然的. 至于为什么选择计算机,主要原因就是不知道应该选什么,正好看到 ...
- 局域网下访问其他计算机搭建的django网页
1.修改工程目录下的setting.py 文件 ALLOWED_HOSTS = ['*'] #*表示允许访问的ip 如果是添加* 则允许所有同局域网环境的主机访问 2.在完成的django工程下运行以 ...
- 从一次输入框无法输入的bug,谈如何限制输入框输入类型
bug的产生和修改 上周临近周末休息的时候,一个同事跑过来了,对我说:"阿伦啊,有一个页面出问题了,火狐浏览器所有的input都没法输入了."我一听,是不是你给加了什么属性,让in ...
- java的socket通信
本文讲解如何用java实现网络通信,是一个非常简单的例子,我比较喜欢能够立马看到结果,所以先上代码再讲解具体细节. 服务端: import java.io.BufferedReader; import ...
- R语言基础1
----------------------------------R语言学习与科研应用,科研作图,数据统计挖掘分析,群:719954246-------------------------- 我们将 ...
- 从集合的无序性看待关系型数据库中的"序"
本文目录:1.集合的特征2.集合的无序性3.表中记录的无序性4.集合的"序"和物理存储顺序之间的关系5.查询结果(虚拟表)的无序性.随机性6.为什么总是强调"无序&quo ...
- 智能合约语言 Solidity 教程系列9 - 错误处理
这是Solidity教程系列文章第9篇介绍Solidity 错误处理. Solidity系列完整的文章列表请查看分类-Solidity. 写在前面 Solidity 是以太坊智能合约编程语言,阅读本文 ...