Python学习中的知识点(range和xrange)

range()

如果需要迭代一个数字序列的话,可以使用range()函数,range()函数可以生成等差级数。

如例:
for i in range(5)
     print(i)
这段代码将输出0, 1, 2, 3, 4五个数字

range(10)会产生10个值, 也可以让range()从另外一个数字开始,或者定义一个不同的增量,甚至是负数增量

range(5, 10)从5到9的五个数字range(0, 10, 3) 增量为三, 包括0,3,6,9四个数字range(-10, -100, -30) 增量为-30, 包括-10, -40, -70可以一起使用range()和len()来迭代一个索引序列例如:

a = [‘Nina‘, ‘Jim‘, ‘Rainman‘, ‘Hello‘]

for i in range(len(a)):

print(i, a[i])

其实,Python的range的原理是通过生成一个数组,而下面这种写法:

for i in range(10):

print i

实际上,range()函数先生成了一个数组,完事将数组结果返给in,也就是说本质上这是一个迭代。



xrange
xrange示例:

  1. >>> xrange(5)
  2. xrange(5)
  3. >>> list(xrange(5))
  4. [0, 1, 2, 3, 4]
  5. >>> xrange(1,5)
  6. xrange(1, 5)
  7. >>> list(xrange(1,5))
  8. [1, 2, 3, 4]
  9. >>> xrange(0,6,2)
  10. xrange(0, 6, 2)
  11. >>> list(xrange(0,6,2))
  12. [0, 2, 4]

通过上面的实例我们可以知道python的xrange和range相比,不同点就在于xrange生成的不是一个数组,而是一个生成器。



range()返回一个递增或递减的数字列表,列表的元素值由三个参数决定

start表示列表开始的值,默认为“0”。

stop 表示列表结束的值,该参数不可缺少

参数step表示步长,默认值为“1”。

range()返回的是一个递增或递减的数字列表。

xrange 是一个类,返回的是一个xrange对象。使用xrange()进行遍历,每次遍历只返回一个值。range()返回的是一个列表,一次性计算并返回所有的值。因此,xrange()的执行效率要高于range()

时间: 2024-10-27 08:45:30

Python学习中的知识点(range和xrange)的相关文章

Python学习中的随笔,好记性不如烂笔头

本文 为博主看了 vamei 的blog 写下的随笔 . 致敬Vamei 1.type()   可以显示参数的类型 如 : a=12   type(a) 为 int 2.python的基本类型 为 int float bool string   如 int :  i=1   ,   float :  f=12.5  ,  bool : b= True  or  Flase , string :  s='Hello , word !' 使用前无需声明类型  即 动态类型 3.1序列有 tuple

Python学习中:最感到惊奇35个语言特征和编程技巧

从我开始学习python的时候,我就开始自己总结一个python小技巧的集合.后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里.这篇博客其实就是这个集合整理后一部分的公开亮相.如果你已经是个python大牛,那么基本上你应该知道这里面的大多数用法了,但我想你应该也能发现一些你不知道的新技巧.而如果你之前是一个c,c++,java的程序员

整理c#学习中的知识点

首先作为一个小白,在短时间内学会C#是有一定难度的,我就最近学习的内容,梳理了一下知识点,日后回过头来多看看多想想,我想这对自己的学习帮助很大,知识点如下: 1.转义符 在代码中书写一个斜杠(\),用于改变斜杠后出现字符的意义. 例:" 代表字符串的开始或者结束: \"代表普通的双引号字符 常见的转义符有:\"代表双引号:\'代表单引号:\n代表换行符:\t代表制表符:\\代表斜杠 2.逻辑运算符 是用于判断条件是否成立的运算符,用真(true)和假(false)表示判断结果

python(47):range和xrange的区别和联系

range 前面小节已经说明了,range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. 比如: >>> range(5)[0, 1, 2, 3, 4]>>> range(1,5)[1, 2, 3, 4]>>> range(0,6,2)[0, 2, 4]xrange 用法与 range 完全相同,所不同的是生成的不是一个list对象,而是一个生成器. >>> x

python 学习中遇到的问题

一.安装pip中遇到的问题. 出现错误:ImportError:DLL load failed :%1不是有效的win32应用程序 出现问题解答: 主要是由于安装的python版本和所下载的安装包版本不一致,导致的. 如果python是32 位的,而电脑是64位的.下载的安装包是64位的,就会导致问题的产生.所以有以下解决办法: 1.卸载现在的安装包版本.直接将python文件删除,删除环境变量. 2.重新安装python文件. 最后问题解决. 二.安装scipy时候遇到的问题. 提示错误:nu

python学习笔记enumerate()与range(len)运用及赋值小计

#!/uer/bin/env python # _*_ coding: utf-8 _*_ #格式1 a = 'abc' for i in range(len(a)): print a[i],'(%d)'% i a (0)b (1)c (2) #格式2 for A,i in enumerate('abc'): print i,A a 0b 1c 2 #格式2.1 b = raw_input('wartyouname:') for i,j in enumerate(b): print b[i],'

Python学习中,当使用writerow时输出多余的空行解决方法

今天在学习用Python进行CSV文件存储 当我以csv格式写入文件的时候,文件读取的时候出现了多余的空行,代码: 1 import csv 2 3 with open('data.csv', 'w') as csvfile: 4 writer = csv.writer(csvfile) 5 writer.writerow(['id', 'name', 'age']) 6 writer.writerow(['10001', 'Mike', '20']) 7 writer.writerow(['1

python学习中的一些“坑”

一.交互列表元素时,需要注意的坑. 例如: array=[4,5,9,8,10,8,4,0,3,4]  最大的值与第一个元素交换,最小的值与最后一个元素交换 # -*- coding: UTF-8 -*- array=[4,5,9,8,10,8,4,0,3,4] maxa = max(array) #列表最大值mina = min(array) #列表最小值len_array = len(array) - 1max_index = array.index(maxa) #列表最大值的位置if ma

spring源码学习中的知识点

一.循环依赖 循环依赖就是循环引用,就是两个或多个bean之间互相持有对方. 1.构造器循环依赖 表示通过构造器注入造成的循环依赖,此依赖是无法解决的,只能抛出BeanCurrentlyInCreationException异常表示循环依赖. 2.setter循环依赖 对于setter注入造成的依赖是通过spring容器提前暴露刚完成构造器注入但未完成其他步骤(如setter注入)的bean来完成的,而且只能解决singleton单例作用域的bean循环依赖. 3.prototype范围的依赖处