Python基础入门(十九)-列表生成式
来源:互联网 发布:linux禅道启动命令 编辑:程序博客网 时间:2024/06/05 01:16
1、range()函数生成list
比如:
range(1,11),可以生成list为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
生成 [1x1, 2x2, 3x3, ..., 10x10]的list,用循环
列表生成式则可以用一行语句代替循环生成上面的list:
l=[x*x for x in range(1,11)]print l
写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来
提示:range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,...]
range(from,to,step) step为每一步的大小
任务
请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]
解答:
print [x*(x+1) for x in range(1,101,2)]
2、复杂表达式
dict可以通过一个复杂的列表生成式把它变成一个 HTML 表格
d={'Adam':95,'Lisa':85,'Bart':59}
如下:
输出:
注:
字符串可以通过 % 进行格式化,用指定的参数替代 %s。
字符串的join()方法可以把一个 list 拼接成一个字符串。
<table>是<tr>的上层标签
<tr>必须在一个<table></table>里面,它不能单独使用,相当于<table>的属性标签.
<table>表示一个表格,<tr>标示这个表格中间的一个行
<td>表示行中的一个列,需要嵌套在<tr></tr>中间
<th >是标题的列,<tr >是行,<td >是正常的列
具体格式是:(两行两列)
<table>
<tr><th>列的标题1</th><th>列的标题2</th><tr>
<tr><td>列值1</td><td>列值2</td></tr>
</table>
例子:
任务
在生成的表格中,对于没有及格的同学,请把分数标记为红色。
提示:红色可以用 <td style="color:red"> 实现。
输出:
3、条件过滤
列表生成式的 for 循环后面还可以加上 if 判断进行过滤
筛选偶数的平方,不改动 range()的情况下,可以加上 if 来筛选
例子:
[x*x for x in range(1,11) if x%2==0]
只有 if 判断为 True 的时候,才把循环的当前元素添加到列表中
输出:
[4,16,36,64,100]
任务
请编写一个函数,它接受一个 list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略。
提示:
1. isinstance(x, str) 可以判断变量 x 是否是字符串;
2. 字符串的 upper() 方法可以返回大写的字母。
解答:
利用 if 剔除掉非字符串的元素。
输出:
['HELLO','WORLD']
4、多层表达式
for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。
例子:
字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:
输出:
换成for循环如下:
任务
利用 3 层for循环的列表生成式,找出对称的 3 位数。例如,121 就是对称数,因为从右到左倒过来还是 121。
解答:
1 0
- Python基础入门(十九)-列表生成式
- python基础-列表生成式
- pyhotn3入门基础-10 列表生成式
- Python入门 之 列表生成式
- Python基础6--列表生成式
- python基础学习七: 列表生成式
- Python基础-列表生成式与迭代器
- Python基础篇之列表生成式
- Python基础-列表生成式-List Comprehensions
- python入门(十九):字符串格式化
- Python零基础入门十九之爬虫基础知识
- Python零基础入门二十九之Tkinter隐藏技能
- python入门 第10章 列表生成式
- python入门 第10章 列表生成式
- Python入门(七):生成列表、条件过滤、多层表达式
- python 列表生成式
- Python:列表生成式
- python列表生成式
- MySQL
- vc++ 项目里External dependencies 的文件存放内容和各个文件的存放内容
- 白平衡算法
- 最详细的Android原生APP中添加ReactNative 进行混合开发教程
- js 判断$("#id") 是否为空
- Python基础入门(十九)-列表生成式
- 光场相机原理
- 【剑指Offer】替换空格 解题报告
- Linux安装MySQL
- iOS开发 各种路径记录
- JS中&&和||的用法理解
- HTTP 方法:GET 对比 POST
- Pattern和Matcher
- VIRTUALBOX 虚拟机安装 OS X 10.9 MAVERICKS