标签: xrange

Python 2.X中range和xrange函数有什么区别?

显然xrange更快但我不知道为什么它更快(除了轶事到目前为止没有证据表明它更快)或者除此之外还有什么不同

for i in range(0, 20):
for i in xrange(0, 20):
Run Code Online (Sandbox Code Playgroud)

python loops range xrange python-2.x

690
推荐指数
15
解决办法
36万
查看次数

455
推荐指数
7
解决办法
21万
查看次数

为什么Python3中没有xrange函数?

最近我开始使用Python3,它缺乏xrange的伤害.

简单的例子:

1) Python2:

from time import time as t
def count():
  st = t()
  [x for x in xrange(10000000) if x%4 == 0]
  et = t()
  print et-st
count()
Run Code Online (Sandbox Code Playgroud)

2) Python3:

from time import time as t

def xrange(x):

    return iter(range(x))

def count():
    st = t()
    [x for x in xrange(10000000) if x%4 == 0]
    et = t()
    print (et-st)
count()
Run Code Online (Sandbox Code Playgroud)

结果分别是:

1) 1.53888392448 2) 3.215819835662842

这是为什么?我的意思是,为什么xrange被删除了?这是一个很好的学习工具.对于初学者,就像我一样,就像我们所有人一样.为什么删除它?有人能指出我正确的PEP,我找不到它.

干杯.

python xrange pep python-3.x

259
推荐指数
3
解决办法
32万
查看次数

NameError:全局名称'xrange'未在Python 3中定义

我在运行python程序时遇到错误:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 110, in <module>
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\_sandbox.py", line 27, in __init__
  File "C:\Program Files (x86)\Wing IDE 101 4.1\src\debug\tserver\class\inventory.py", line 17, in __init__
builtins.NameError: global name 'xrange' is not defined
Run Code Online (Sandbox Code Playgroud)

游戏来自这里.

是什么导致这个错误?

python range xrange python-3.x runtimeexception

253
推荐指数
5
解决办法
31万
查看次数

在C#中是否有相当于Pythons范围(12)?

这对我来说不时出现:我有一些C#代码非常想要range()Python中可用的功能.

我知道使用

for (int i = 0; i < 12; i++)
{
   // add code here
}
Run Code Online (Sandbox Code Playgroud)

但是这会在功能用法中降低,就像我想要做一个Linq Sum()而不是写上面的循环一样.

有没有内置?我想我可以永远只是推出自己用yield还是这样,但是这将是如此得心应手,只是.

c# python range xrange

45
推荐指数
4
解决办法
2万
查看次数

为什么xrange能够在Python中重新开始?

我从大多数pythonic方法中遇到了这个代码,用于计算可迭代的匹配元素

r = xrange(1, 10)
print sum(1 for v in r if v % 2 == 0) # 4
print sum(1 for v in r if v % 3 == 0) # 3
Run Code Online (Sandbox Code Playgroud)

r迭代一次.然后它再次迭代.我想如果一个迭代器被消耗掉,那么它就结束了,它不应该再次迭代.

生成器表达式只能迭代一次:

r = (7 * i for i in xrange(1, 10))
print sum(1 for v in r if v % 2 == 0) # 4
print sum(1 for v in r if v % 3 == 0) # 0
Run Code Online (Sandbox Code Playgroud)

枚举(L):

r = enumerate(mylist) …
Run Code Online (Sandbox Code Playgroud)

python iterator xrange

29
推荐指数
2
解决办法
1497
查看次数

在直方图matplotlib中更改默认x范围

我想更改直方图的默认x范围.数据范围是7到12.但是,默认情况下,直方图从7开始,到13结束.我希望它从6.5开始,到12.5结束.但是,刻度应该从7到12.我该怎么做?

import asciitable 
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
import pylab
from pylab import xticks

data = asciitable.read(file)
hmag = data['col8']
visits = data['col14']
origin = data['col13']


n, bins, patches = plt.hist(hmag, 30, facecolor='gray', align='mid')
xticks(range(7,13))
pylab.rc("axes", linewidth=8.0)
pylab.rc("lines", markeredgewidth=2.0) 
plt.xlabel('H mag', fontsize=14)
plt.ylabel('# of targets', fontsize=14)
pylab.xticks(fontsize=15)
pylab.yticks(fontsize=15)
plt.grid(True)
plt.savefig('hmag_histogram.eps', facecolor='w', edgecolor='w', format='eps')
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib xrange histogram

21
推荐指数
2
解决办法
7万
查看次数

名称'xrange'未在Python 3中定义

我尝试执行以下代码但不能错误:未定义名称'xrange'

pages = (
    requests.get(
        build_group_request({
            "offset": WINDOW_SIZE * i,
            "count": WINDOW_SIZE,
            "fields": "sex,interests,bdate"
        })
    ).json()['response']['items']
    for i in xrange(int(float(COUNT) / 100 + 1))
)
Run Code Online (Sandbox Code Playgroud)

python range xrange python-3.x

18
推荐指数
1
解决办法
6万
查看次数

`xrange(2**100)` - > OverflowError:long int太大而无法转换为int

xrange 函数不适用于大整数:

>>> N = 10**100
>>> xrange(N)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
>>> xrange(N, N+10)
Traceback (most recent call last):
...
OverflowError: long int too large to convert to int
Run Code Online (Sandbox Code Playgroud)

Python 3.x:

>>> N = 10**100
>>> r = range(N)
>>> r = range(N, N+10)
>>> len(r)
10
Run Code Online (Sandbox Code Playgroud)

range()Python 2.x 有py3k内置函数的后端吗?

编辑

我正在寻找一个完整的"懒惰"实现range(),而不只是部分实现它的一些功能.

python range biginteger xrange python-3.x

16
推荐指数
3
解决办法
1万
查看次数

irange()与range()或xrange()有什么不同?

当我遇到这个RangeGenerator页面时,我正在浏览Python Generators Wiki,该页面谈到irange() -

这将让我们迭代大量数字而不诉诸xrange,这是一个惰性列表而不是生成器.

我似乎无法理解该页面上描述的测试套件和实现.我知道range()在内存中创建一个列表(从Python 2.7的角度来看)并且xrange()是一个生成器.有irange()什么不同?

python generator range xrange

14
推荐指数
1
解决办法
8728
查看次数