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] ...
随机推荐
- Java-API:javax.servlet.http.HttpServletRequest
ylbtech-Java-API:javax.servlet.http.HttpServletRequest 1.返回顶部 1. javax.servlet.http Interface HttpSe ...
- PHP类(二)-类的构造方法和析构方法
构造方法 构造方法是对象创建完成后第一个被对象自动调用的方法,用来完成对象的初始化 在每个类中都会有一个构造方法,如果没有声明的话,类中会存在一个没有参数列表并且内容为空的构造方法.如果声明的话,默认 ...
- Android 4学习(4):概述 - Using Resources
参考:<Professional Android 4 Application Development> Andorid中的资源包括用户自定义资源和系统自带资源,这两种资源既可以在代码中使用 ...
- DDD学习笔录——提炼问题域之知识提炼与协作
提炼问题域的意义 理解一个复杂问题域以便创建简单且有用的模型需要深入详尽的知识以及深刻的见解,这些只能通过与从内到外理解该领域的人协作得到.对模型的设计进行连续实验和探究正是DDD的能力所能实现的.只 ...
- CORS实现跨域Ajax
客户端 #!/usr/bin/env python import tornado.ioloop import tornado.web class MainHandler(tornado.web.Req ...
- re.findall 两个连续匹配成功的输出后一个
- 463. Island Perimeter岛屿周长
[抄题]: You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 re ...
- 算法Sedgewick第四版-第1章基础-018一解决不能声明泛型数组的两咱方法(强转或反射)
1. /****************************************************************************** * Compilation: ja ...
- Java-数据结构与算法-选择排序与冒泡排序
Java 选择排序与冒泡排序 1.DataSorter.java public class DataSorter { //冒泡排序法 //主要思路:按升序排序,数组元素两两比较,大的立即排后面 pub ...
- 一个ButtonDemo序(遇到的问题,以及在大牛的帮助下,如何解决的。)
问题1: public ButtonDemo(){ //ImageIcon leftButtonIcon=new ImageIcon("images/a.png"); ImageI ...