标签: xrange

Python中13位数字的范围和xrange?

range()xrange()为10位数字工作.但13位数字怎么样?我在论坛里找不到任何东西.

python numbers range xrange

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

迭代在python中的闭合范围[a,b]中

我想在python中迭代一个闭合范围的整数[a,b],即.从a到b迭代,包括a和b.

我知道以下方法:

for i in range(a, b+1):
    do_something(i)
Run Code Online (Sandbox Code Playgroud)

为了反向迭代(即按b,b-1,b-2,...,a的顺序),我执行以下操作:

for i in range(b, a-1, -1):
    do_something(i)
Run Code Online (Sandbox Code Playgroud)

我不喜欢这个加法(在示例中为b + 1)和减法(在示例中为a-1)以达到范围的闭合端.我发现它的可读性低于c/c ++/Java对应物(<=在循环中的使用).

你有没有python中的东西可以用于在封闭范围之间迭代而无需人工干预边界?

python iterator loops range xrange

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

如何在Python 3中启用xrange以实现可移植性?

我编写了一个脚本,我想为Python 2和Python 3启用它.

导入后divisionprint_function__future__,我唯一担心的是,我的range回报整个阵列在Python 2,浪费时间和内存.

我在脚本开头添加了以下3行作为解决方法:

if sys.version_info[0] == 3:
    def xrange(i):
        return range(i)
Run Code Online (Sandbox Code Playgroud)

然后,我只xrange在我的代码中使用.

是否有更优雅的方式来做而不是我的解决方法?

python xrange python-3.x

7
推荐指数
1
解决办法
5094
查看次数

为什么xrange在Python中不可继承?

我试图继承xrange(使用in以及迭代来实现成员资格测试)。但我收到以下错误消息:

TypeError: Error when calling the metaclass bases
    type 'xrange' is not an acceptable base type
Run Code Online (Sandbox Code Playgroud)

有什么特别之处xrange

python inheritance xrange typeerror

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

我可以从对象本身获取用于构造Python 2.7 xrange的值吗?

If sslicePython中的一个对象,使用s = slice(start, stop, step)或者(在适当的上下文中)start:stop:step构造,用于构造的值s可以从slice对象本身获得s.start,s.stops.step.

类似的start,stop并且step成员可在range在Python 3.4 [对象Issue9896.例如,range(1, 4, 2).start == 1.

然而,Python 2.7版xrange的对象不具备start,stopstep成员.有没有其他方法可以获取用于构造xrange对象本身的值?

python introspection range xrange python-2.7

5
推荐指数
1
解决办法
268
查看次数

Python 3:如何在范围对象中查找比在列表中查找更快?

当我遇到在对象中查找的答案之一range是 CONSTANT TIME 操作时,我在 StackOverflow 上滚动浏览了许多与列表与范围相关的问题!这在 O(1) 中如何完成是没有意义的,您将不得不遍历范围以查看是否存在数字。范围对象是否像一些哈希图/字典一样工作?

def usingRange(x):
    return x in range(0, 100000000)
print(usingRange(9999999)) 


def noRange(x):
    return x in list(range(0, 100000000))
print(noRange(9999999))

%timeit usingRange(9999999)
%timeit noRange(9999999)
Run Code Online (Sandbox Code Playgroud)

我得到的输出为:

True
True
443 ns ± 8.83 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
6.89 s ± 380 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
Run Code Online (Sandbox Code Playgroud)

我想知道为什么它的时间恒定的原因是因为

  1. 有人告诉我不要太专注于学习 Python 编程面试中的“技巧”!因为你所做的每一件事,你都必须解释时间复杂度,所以你要么记住i in list1O(N),要么使用 for 循环遍历列表:

    for …
    Run Code Online (Sandbox Code Playgroud)

python lookup list xrange python-3.x

5
推荐指数
0
解决办法
169
查看次数

访问xrange内部结构

我正在尝试使用ctypes从内部python结构中提取数据.也就是说,我正在尝试读取xrange中的4个字段:

typedef struct {
    PyObject_HEAD
    long    start;
    long    step;
    long    len;
} rangeobject;
Run Code Online (Sandbox Code Playgroud)

有没有标准的方法来获取python本身的这些领域?

python ctypes cpython xrange

4
推荐指数
1
解决办法
352
查看次数

使用枚举的循环或使用Python中的xrange循环的速度更快?

什么是更快,使用枚举或使用xrange的for循环?

编辑:我已经测试过,我只看到最小的差异.

python loops xrange

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

PYTHON:简单的随机生成驱动if/else

新的编程,即时学习,这对你来说可能是一个非常简单的问题.

import random

def run_stair_yes():
    print "\nRunning in stairs is very dangerous!"
    print "Statistique shows that you have 70% chance of falling"
    print "\nroll the dice!"


    for i in xrange(1):
        print random.randint(1, 100)

    if i <= 70 :
        print "\nWell, gravity is a bitch. You fell and die."

    elif i >= 71 :
        athlethic()

    else: 
            print "im boned!"
            exit(0)
Run Code Online (Sandbox Code Playgroud)

我的问题是,无论生成什么数字,它总是给我相同的"重力是一个婊子.你堕落而死".

我哪里出错了?

python if-statement xrange

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

PYTHON - 查找数组中每10个整数的最大值

我有一个很大的整数数组,我需要在数组中将每10个整数及其对应的索引中的最大值打印为一对.

ex. (max_value, index of max_value in array)
Run Code Online (Sandbox Code Playgroud)

我可以在前10个整数中成功找到最大值和相应的索引,但是我在遍历整个数组时遇到问题.

我尝试过使用:

a = some array of integers

split = [a[i:i+10] for i in xrange(0, len(a), 10)] 

for i in split:
    j = max(i) 
    k = i.index(max(i))
    print (j,k)
Run Code Online (Sandbox Code Playgroud)

用这种方法的问题是,它分裂我的数组到10所以max_values是正确的块,但指标是不准确的(所有的指标都是0-10之间).我需要找到这样那并不是"的一种方式t将我的数组拆分成块,以便保留原始索引.我确信有一种更简单的循环方式来查找最大值,但我似乎无法弄明白.

python arrays xrange python-2.x

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