【10-1】生成列表
2016-04-02 23:44
162 查看
生成列表
要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11):>>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做?方法一是循环:
>>> L = [] >>> for x in range(1, 11): ... L.append(x * x) ... >>> L [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
但是循环太繁琐,而列表生成式则可以用一行语句代替循环生成上面的list:
>>> [x * x for x in range(1, 11)] [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
这种写法就是Python特有的列表生成式。利用列表生成式,可以以非常简洁的代码生成 list。
写列表生成式时,把要生成的元素 x * x 放到前面,后面跟 for 循环,就可以把list创建出来,十分有用,多写几次,很快就可以熟悉这种语法。
任务
请利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]提示:range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,...]
?不会了怎么办
把每次循环的 x 变成列表中的元素 x * (x + 1)
参考代码:
print [x * (x + 1) for x in range(1, 100, 2)]
相关文章推荐
- 对于String对象,可以使用"="赋值,也可以使用"new"关键字赋值,两种方式有什么区别?
- fill_parent、match_parent和wrap_content的区别
- WEB网页监控系统的设计框架思路详解
- [CodeVs3196]黄金宝藏(DP/极大极小搜索)
- 学习笔记:XML与JSON的介绍与对比
- jq checked 设置问题
- 【GDOI模拟】数树数
- 20160402_[转]联合体(union)的使用方法及其本质
- Windows隐藏工具栏并使程序窗口全屏显示
- 2013 第39级台阶
- android应用基础开发
- 有哪些 Android 的开源界面库?
- 设计模式(二十二)--桥接模式
- Java之从任务中产生返回值方式1
- 缓冲区的一些测试代码
- Ubuntu下怎么安装Kompozer
- [6644] 02 Apr 23:11:58.976 # Creating Server TCP listening socket *:6379: bind: No such file or directory
- SDAU课程练习2 1025
- C# 客户端服务器学习(一)
- ssh连接提示“REMOTE HOST IDENTIFICATION HAS CHANGED! ”解决办法