资讯专栏INFORMATION COLUMN

python 学习笔记 1 for循环中常用的函数

DC_er / 1795人阅读

摘要:与虽然只能生成整数,但是当想生成小数的时候有两种方式,调用第三方包。将生成的每个除以来生成对应的小数。

0.前置说明

1.运行环境:Win7虚拟机、python2.7(anacoda版)

2.本文大部分内容引用此参考文献并极力推荐根据此人博客学习python:http://www.cnblogs.com/vamei/archive/2012/07/09/2582435.html

1.range与xrange(用于生成一系列等差数列) 函数定义:range([start,] stop[, step])

此函数用于生成一系列等差数列,如:

In [1]: range(0,10,2) #生成以0为起始,10为停止,步长为2的等差数列
Out[1]: [0, 2, 4, 6, 8]

In [2]: range(0,10) #如果去掉后面的2,则默认生成步长为1的等差数列
Out[2]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

In [3]: range(10) #如果去掉0,则默认也是从0为起始
Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
函数定义:xrange([start,] stop[, step])

基本用法同上

使用技巧以及注意事项

在生成大量数据的前提下,xrange优性能于range,因为range是一次性生成一个list,而xrange是生成一个生成器,随着遍历的深入不断生成新的数据。

range与xrange虽然只能生成整数,但是当想生成小数的时候有两种方式,1. 调用第三方包。 2. 将生成的i每个除以100.0来生成对应的小数。

2.enumerate (同时返回上标和下标) 函数定义:enumerate()

此函数用于同时获取元素的内容和元素的位置,如:

In [8]: ex = ["hi","bigdata","mylove"]
In [9]: for i,c in enumerate(ex):
   ....:     print "i",i
   ....:     print "c",c
   ....:
i 0
c hi
i 1
c bigdata
i 2
c mylove
使用技巧以及注意事项

enumerate每次返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予i和c

如果你多个等长的序列,然后想要每次循环时从各个序列分别取出一个元素

3.zip(同时返回上标和下标) 函数定义:zip()

此函数用于每次循环时从各个序列分别取出一个元素并赋值,如:

In [12]: e=(1,2,3)

In [13]: e2=("x","y","z")

In [14]: e3=(10,11,12)

In [15]: for t1,t2,t3 in zip(e,e2,e3):
   ....:     print t1
   ....:     print t2
   ....:     print t3
   ....:
1
x
10
2
y
11
3
z
12
使用技巧以及注意事项

注意在赋值情况下,复制元素的个数和结果密切相关,如:

#有1个返回值的情况
In [17]: res = zip(e,e2,e3)

In [18]: print res
[(1, "x", 10), (2, "y", 11), (3, "z", 12)]

#有3个返回值的情况
In [19]: res1,res2,res3 = zip(e,e2,e3)

In [20]: print res1
(1, "x", 10)

In [21]: print res2
(2, "y", 11)

In [22]: print res2
(2, "y", 11)

#有2个返回值的情况(会报错)
In [24]: res1,res2 = zip(e,e2,e3)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
 in ()
----> 1 res1,res2 = zip(e,e2,e3)

ValueError: too many values to unpack


文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/37588.html

相关文章

  • python 学习笔记-列表生成器

    摘要:定义列表生成器有两种方式,一种是算式列表生成器我起的名字,一种通过关键词。算式列表生成器算式列表生成器雨列表生成式类似,但需要换成。我们可以用一个包含关键字的函数来定义一个列表生成器。 通过列表生成式我们可以方便的生成列表。但是在有的时候,我们需要生成的列表非常长,而我们的计算机的内存是有限的。在操作列表的时候,我们往往只是操作了列表的一部分区域的数据。 例如我们需要生成这么一个列表,...

    MyFaith 评论0 收藏0
  • Python编程规范笔记(上)

    摘要:编程规范笔记上写在前面从语言开始,自己陆续学习了,但是自从研究生做毕设接触以来,就爱不释手,再也没有动力尝试其他语言。一与的一大优势就是具备优秀的可读性,而这基于一套较为完整的公认编程规范。如原本希望的结果是,结果却完全一样。 Python编程规范笔记(上) 写在前面: 从C语言开始,自己陆续学习了C++/Java,但是自从研究生做毕设接触Python以来,就爱不释手,再也没有动力尝试...

    Kross 评论0 收藏0
  • 【从0开始入门python】一个半月三万字学习笔记汇总!!!

    摘要:学习基础操作基本模块常用源阿里云豆瓣清华大学中国科学技术大学华中科技大学第一讲基础知识添加注释三键实现格式规范或者在编译器中点击英文输入符号特定字符产生一个新的含义,就是转义字符我爱编程指定为分隔变量 ...

    URLOS 评论0 收藏0
  • 学习笔记】用python做些事

    摘要:并返回合理错误提示。如果不在则再输入密码,成功则增加用户信息到文件中,密码进行加密处理。作业增加用户名,密码的合法化判断和错误提示。 课时5:字符串-基础 切片,索引 s = use python do somenthing s[1],s[-1],s[1:3],s[1:6:2],s[1:],s[:-1],s[:] spilt,join,[start:stop:step] 常用方法集...

    wdzgege 评论0 收藏0
  • python学习笔记4---分支、循环、条件与枚举

    摘要:表达式表达式是运算符和操作数所构成的序列运算符优先级同级的运算符的优先级还是有区别的比如逻辑运算符里的的优先级大于两个括号同级,左结合出现赋值符号时,右结合优先级在文本文件中编写代码脚本是后缀名为的文件,通过命令行执行推荐的,大型工程适合用 表达式 表达式(Expression)是运算符(operator)和操作数(operand)所构成的序列 >>> 1 + 1 2 >>> a ...

    livem 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<