- 浏览: 247089 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (127)
- vim (3)
- python (44)
- pymysql (1)
- mysql (9)
- macvim (1)
- erlang (3)
- twisted (0)
- tornado (5)
- django (7)
- postgresql (5)
- sql (1)
- java (7)
- tech (4)
- cache (1)
- lifestyle (3)
- html (1)
- ubuntu (2)
- rabbitmq (1)
- algorithm (8)
- Linux (4)
- Pythonista (1)
- thread (1)
- sort (6)
- 设计模式 (1)
- search (1)
- Unix (6)
- Socket (3)
- C (2)
- web (1)
- gc (1)
- php (10)
- macos (1)
最新评论
-
2057:
这个程序有bug。
查找算法学习之二分查找(Python版本)——BinarySearch -
dotjar:
NB
一个Python程序员的进化[转]
引用
Help on built-in function range in module __builtin__:
range(...)
range([start,] stop[, step]) -> list of integers
Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
When step is given, it specifies the increment (or decrement).
For example, range(4) returns [0, 1, 2, 3]. The end point is omitted!
These are exactly the valid indices for a list of 4 elements.
range(...)
range([start,] stop[, step]) -> list of integers
Return a list containing an arithmetic progression of integers.
range(i, j) returns [i, i+1, i+2, ..., j-1]; start (!) defaults to 0.
When step is given, it specifies the increment (or decrement).
For example, range(4) returns [0, 1, 2, 3]. The end point is omitted!
These are exactly the valid indices for a list of 4 elements.
根据start与stop指定的范围以及step设定的步长,生成一个list。
>>> range(0,6) [0, 1, 2, 3, 4, 5]
step为2的时候
>>> range(0,6,2) [0, 2, 4] >>> l=range(0,6) >>> l [0, 1, 2, 3, 4, 5]
引用
Help on class xrange in module __builtin__:
class xrange(object)
| xrange([start,] stop[, step]) -> xrange object
|
| Like range(), but instead of returning a list, returns an object that
| generates the numbers in the range on demand. For looping, this is
| slightly faster than range() and more memory efficient.
|
| Methods defined here:
|
| __getattribute__(...)
| x.__getattribute__('name') <==> x.name
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]
|
| __iter__(...)
| x.__iter__() <==> iter(x)
|
| __len__(...)
| x.__len__() <==> len(x)
|
| __reduce__(...)
|
| __repr__(...)
| x.__repr__() <==> repr(x)
|
| __reversed__(...)
| Returns a reverse iterator.
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object>
| T.__new__(S, ...) -> a new object with type S, a subtype of T
class xrange(object)
| xrange([start,] stop[, step]) -> xrange object
|
| Like range(), but instead of returning a list, returns an object that
| generates the numbers in the range on demand. For looping, this is
| slightly faster than range() and more memory efficient.
|
| Methods defined here:
|
| __getattribute__(...)
| x.__getattribute__('name') <==> x.name
|
| __getitem__(...)
| x.__getitem__(y) <==> x[y]
|
| __iter__(...)
| x.__iter__() <==> iter(x)
|
| __len__(...)
| x.__len__() <==> len(x)
|
| __reduce__(...)
|
| __repr__(...)
| x.__repr__() <==> repr(x)
|
| __reversed__(...)
| Returns a reverse iterator.
|
| ----------------------------------------------------------------------
| Data and other attributes defined here:
|
| __new__ = <built-in method __new__ of type object>
| T.__new__(S, ...) -> a new object with type S, a subtype of T
xrange用法与range完全相同,所不同的是xrange生成的不是一个数组,而是一个generators
>>> list(xrange(0,6)) [0, 1, 2, 3, 4, 5] >>> list(xrange(0,6,2)) [0, 2, 4]
因为xrange生成的是一个generators而不是数组,所以当数据很大的时候,使用xrange是有很大优势的。
>>> lst = range(0,7) >>> lst [0, 1, 2, 3, 4, 5, 6] >>> for i in range((len(lst)-2)/2,-1,-1): ... print i ... 2 1 0 >>> for i in range(len(lst)-1,-1,-1): ... print i ... 6 5 4 3 2 1 0
参考资料:
http://docs.python.org/2/library/functions.html
http://stackoverflow.com/questions/94935/what-is-the-difference-between-range-and-xrange
发表评论
-
macos 10.9.2 clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command
2014-03-25 19:13 1759方法总是有的,当然需要你去寻找。 当然如果花费太多的时间在一件 ... -
PostgreSQL psycopg2:IndexError: tuple index out of range
2014-01-09 17:04 2230Postgresql psycopg2使用like查询的时候 ... -
Python 迭代器和生成器
2013-10-15 23:09 2849迭代器 迭代器只不过是一个实现迭代器协议的容器对象。它基于两个 ... -
Python时间模块
2013-10-15 23:03 3469time模块 时间模块中最常用的一个函数就是获取当前时间的函数 ... -
Python装饰器
2013-10-15 22:59 1568编写自定义装饰器有许多方法,但最简单和最容易理解的方法是编写一 ... -
python list
2013-10-15 22:56 1254简单总结以及整理如下: >>> dir( ... -
Python Excel
2013-09-10 17:21 975安装lib easy_install xlrd def ... -
排序算法学习(python版本)之堆排序(HeapSort)
2013-07-01 22:54 1996Contains: 堆排序以及堆排序的应用 堆排序(Heaps ... -
python class
2013-06-25 00:54 1828引用类是创建新对象类 ... -
AttributeError: 'module' object has no attribute 'SendCloud'
2013-06-05 11:46 7083网上查了下 意思是说你命名的文件名不能和lib重名,这样会导 ... -
python string
2013-05-07 23:44 2198如果这就是字符串,这本来就是字符串 首先看下字符串的方法 ... -
Python property
2013-03-29 19:56 0由于之前有总结过,可以参考http://2057.iteye. ... -
python tips
2013-03-28 23:57 8831、enum #!/usr/bin/env python ... -
python decorators
2013-03-28 23:36 1365Contains: 1、decorators 2、funct ... -
python closures
2013-03-28 22:09 1190Closure:如果在一个内部函数里,对在外部作用域(但不是在 ... -
Python map、filter,reduce介绍
2013-03-28 22:02 13091、filter(function,iterable) 引用C ... -
Python __new__ 、__init__、 __call__
2013-03-26 23:49 5351Contains: __new__: 创建对象时调用,返回当 ... -
Python socket简介
2013-03-25 23:42 2168自豪地使用dir和help. Python 2.7.2 ( ... -
Tornado ioloop源码简析
2013-03-21 00:18 2849#!/usr/bin/env python #-*-en ... -
Tornado httpserver 源码简析
2013-03-17 01:49 1790整个流程就是创建一个socket socket.socket ...
相关推荐
range 函数说明:range([start...xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。xrange示例:复制代码 代码如下:>>> xrange(5)xrange(5)>>> list(xrange(5))[0, 1, 2, 3, 4]>>>
在Python编程语言中,`range()`和`xrange()`(在Python 3中已被移除)是两个用于生成整数序列的函数,但它们在内存管理和性能方面存在显著差异。理解这些差异对于编写高效和内存友好的代码至关重要。 首先,`range...
本文实例讲述了python中xrange用法。分享给大家供大家参考。具体如下: 先来看如下示例: >>> x=xrange(0,8) >>> print x xrange(8) >>> print x[0] 0 >>> print x[7] 7 >>> print x[8] Traceback (most recent ...
在Python编程语言中,`range()` 和 `xrange()` 都是用于生成整数序列的函数,但在Python 2.x版本中,它们有着明显的不同,而在Python 3.x版本中,`xrange()` 已被弃用,其功能被集成到 `range()` 中。下面是关于这两...
- **注意**:在Python 3.x版本中,`xrange` 已被移除,取而代之的是 `range`,其行为类似于Python 2.x中的 `xrange`。 #### 二、如何使用xrange 在Python 2.x中使用 `xrange` 可以提高内存效率。下面是一些使用...
在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典...在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange
python中xrange和range的区别 python中range()与xrange()用法分析 本次小编给大家带来的是深入理解range和xrange之间的区别。 两种用法介绍如下: 1.range([start], stop[, step]) 返回等差数列。构建等差数列,...
在Python 3.x中,`range`的行为类似于Python 2.x中的`xrange`,返回的是一个迭代器。 - **示例**: - Python 2.x: ```python for i in xrange(10): print(i) ``` - Python 3.x: ```python for i in range(10...
由于`range()`在Python 3.x版本中进行了优化,对于需要兼容Python 2.x的代码,可以使用`xrange()`函数,它在Python 2.x中与`range()`类似,但在Python 3.x中已不再可用。 总之,`range()`函数是Python中进行数值...
Python 2.7内置xrange的纯Python实现,并且从该版本的Python 3.x range内置(代替xrange )向后移植了一些功能。 没有充分的理由在代码中使用它,它的目的是记录和描述xrange或range内建xrange的行为,以及通常...
在Python 2.x中xrange()创建迭代对象的用法是非常流行的,比如:for循环或者是...在Python 3.x中,range()的实现方式与xrange()函数相同,所以就不存在专用的xrange()(在Python 3.x中使用xrange()会触发NameError)。
5. **迭代器兼容**:Python 2中的`xrange()`在Python 3中被`range()`替代,且行为有所不同。`six`提供了`six.moves.range()`来兼容这两个函数。 6. **元类兼容**:Python 2和Python 3对元类的处理方式不同,`six`...
4. range/xrange的使用:由于Python 3的range已经相当于Python 2的xrange,在迁移时应避免使用xrange,并将原有的range替换为Python 3的range。 5. 其他兼容性问题:由于两个版本间存在语法和功能上的差异,一些...
3. **迭代器和生成器**:Python 2的`xrange`在Python 3中被`range`取代,`six`提供了`six.moves.xrange`来确保跨版本兼容性。 4. **函数和方法**:Python 2的`apply()`, `execfile()`, 和`reduce()`在Python 3中已...
Python 3的`range()`返回可迭代对象,而Python 2的`range()`返回列表,`xrange()`返回可迭代对象;Python 3的除法返回浮点数,Python 2则根据除数和被除数类型返回整数或浮点数。 8. **可变对象与不可变对象**:可...