Python循环加强版——列表生成式
记得我们在其他语言中都学到过循环,尤其是对for循环是再熟悉不过了
比如我有一个数组 a[10]={1,2,3,4,5,6,7,8,9,10}
下面需要依次循环打印出来,C语言首先想到的是
for(i=0;i<10;i++ )
{
print a[i]
}
但是在Python中,我们可以很方便的写出这个循环
def TestFun():
a = [1,2,3,4,5,6,7,8,9,10]
for value in a:
print value TestFun()
如果现在我们的a不是一个数组呢?而是一个字符串,需要依次取出字符呢?
恐怕在其他语言中就不那么简单了吧,但是在python中还是很小case的一件事
def TestFun():
a ="ABCDEFG"
for value in a:
print value TestFun()
不会吧?不相信/?
结果就是这样:

下面介绍一个函数,range()
比如我们要生成一个list, a=[1,2,3,4,5,6,7,8],这可以写,但是我们要从1到一百万呢?可以很简单的用这个函数来解决
rang(1,9), 注意是包括左边,不包括右边(左闭又开)[1,9):代表1-8八个数
好了,来试试看:

现在我要生成【1*1,2*2,3*3,4*4......】怎么办呢?
这还不好解决嘛,用循环!!!
def TestFun():
l = []
for x in range(1,9):
l.append(x*x)
return l l = TestFun()
for value in l:
print value
发现用循环还是不够爽,来一种洋气的写法:

这里的意思就是呢,第一个数x*x就是我要返回的数,让x从1到8依次循环
我们还可以来此双重循环,也可以这样简便的来写
def TestFun():
l=[m+n for m in "AB" for n in "CD" ]
return l l = TestFun()
for value in l:
print value
结果:

Python循环加强版——列表生成式的更多相关文章
- python学习笔记——列表生成式与生成器
1.列表生成式(List Comprehensions) python中,列表生成式是用来创建列表的,相较于用循环实现更为简洁.举个例子,生成[1*1, 2*2, ... , 10*10],循环用三行 ...
- python 迭代 及列表生成式
什么是迭代 在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration). 在Python中,迭代是通过 for ...
- python循环删除列表元素常见错误与正确方法
python循环删除列表元素 觉得有用的话,欢迎一起讨论相互学习~Follow Me 常见错误 常见错误一:使用固定长度循环删除列表元素 # 使用固定长度循环pop方法删除列表元素 num_list_ ...
- Python中的列表生成式和多层表达式
Python中的列表生成式和多层表达式 如何生成[1x1, 2x2, 3x3, ..., 10x10]的列表? L=[]; ,): L.append(x*x) print L print (" ...
- (python函数02)列表生成式
(python函数02)列表生成式 示例代码 num = [i for i in range(1, 10)] print(num) num = [i for i in range(1, 10) ...
- python基础:列表生成式和生成器
列表生成式(List Comprehension) 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成 list ...
- Python自学笔记-列表生成式(来自廖雪峰的官网Python3)
感觉廖雪峰的官网http://www.liaoxuefeng.com/里面的教程不错,所以学习一下,把需要复习的摘抄一下. 以下内容主要为了自己复习用,详细内容请登录廖雪峰的官网查看. 列表生成式 列 ...
- python中的列表生成式
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, ...
- Python高级教程-列表生成式
List Comprehensions(列表生成式) 列表生成式,是Python内置的非常简单却强大的可以用来创建list的生成式. 例如,要生成list:[1,2,3,4,5,6,7,8,9,10] ...
随机推荐
- 转:InnoDB Crash Recovery 流程源码实现分析
此文章转载给登博的文章,给大家分享 InnoDB Crash Recovery 流程源码实现分析 Crash Recovery问题 本文主要分析了InnoDB整个crash recovery的源码处理 ...
- d-s证据理论
证据理论是Dempster于1967年首先提出,由他的学生Shafer于1976年进一步发展起来的一种不精确推理理论,也称为Dempster/Shafer 证据理论(D-S证据理论),属于人工智能范畴 ...
- asp.netcore di 实现批量接口注入
废话少说,先上代码 public static Dictionary<Type, Type[]> GetImpleAndInterfaces(string assemblyName,str ...
- JCTF 2014(Misc)
小试身手: 点击下载附件 res/raw/hehe,打开 得到flag
- ARRINC424—MORA(GRID)格式
每一整数经.纬度为一格,每格MORA值3位数字,表示百英尺.无法获知MORA值得网格一UNK表示. 经纬网格起始点坐标,每个网格从左下角开始计数,每经纬度一度切分一个网格.每行数据代表某一维度上往东或 ...
- myeclipse debug 工具栏不见了
1.打开myeclipse,点击右上角的debug图标.如图: 点击debug页面右上角的三角形,把下拉菜单的Show Debug Toobar给勾上.如图: 3 这样debug工具的已经显示出来了
- EF CODEFIRST WITH ORACLE 存储过程
EF CODEFIRST WITH ORACLE 解决存储过程一直没找到解决方案 所以最后也没办法还是用了最基本的解决方案 采用Oracle.ManagedDataAccess提供的ADO基础访问类 ...
- var_dump — 打印变量的相关信息
<?php $a = array( 1 , 2 , array( "a" , "b" , "c" )); var_dump ( $a ...
- session,cookie总结
不同的域名生成的session_id是不一样的,(就算是相同的主域,例如:www.test.com, blog.test.com 都不一样); 相同的主域,不同的二级域名,例如www和blog都是不共 ...
- 关于MySQL隐式转换
一.如果表定义的是varchar字段,传入的是数字,则会发生隐式转换. 1.表DDL 2.传int的sql 3.传字符串的sql 仔细看下表结构,rid的字段类型: 而用户传入的是int,这里会有一个 ...