Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将range()的结果存储为列表变量-Python_Python_Python 2.7 - Fatal编程技术网

将range()的结果存储为列表变量-Python

将range()的结果存储为列表变量-Python,python,python-2.7,Python,Python 2.7,我正在做Euler项目的挑战,以便更好地掌握python。我是一名初学者,我正在努力做到这一点 etc要生成从1到1000的值,需要将结束值指定为1000+1,即1001。所以 Python2.x Python3.x 将为您提供从1到1000的值列表 使用半闭区间,这意味着它包括它生成的值列表中的第一个值,但不包括最后一个值。请注意,如果不指定起始值,范围将默认为0。还可以指定增量值,除非另有指定,否则该值默认为1 以下三个例子来自: 要生成从1到1000的值,需要将结束值指定为1000+1,即

我正在做Euler项目的挑战,以便更好地掌握python。我是一名初学者,我正在努力做到这一点


etc

要生成从1到1000的值,需要将结束值指定为1000+1,即1001。所以

Python2.x

Python3.x

将为您提供从1到1000的值列表

使用半闭区间,这意味着它包括它生成的值列表中的第一个值,但不包括最后一个值。请注意,如果不指定起始值,范围将默认为0。还可以指定增量值,除非另有指定,否则该值默认为1

以下三个例子来自:


要生成从1到1000的值,需要将结束值指定为1000+1,即1001。所以

Python2.x

Python3.x

将为您提供从1到1000的值列表

使用半闭区间,这意味着它包括它生成的值列表中的第一个值,但不包括最后一个值。请注意,如果不指定起始值,范围将默认为0。还可以指定增量值,除非另有指定,否则该值默认为1

以下三个例子来自:


将此代码用于您的代码:

lista = range(1, 1001)
listb = list(lista)
listc = list(lista)
不要这样做:

lista = listb = listc = range(1, 1001)

因为您的POP都在同一个列表中工作。

将此用于您的代码:

lista = range(1, 1001)
listb = list(lista)
listc = list(lista)
不要这样做:

lista = listb = listc = range(1, 1001)

因为你的POP都在同一个列表上工作。

虽然你的问题是如何列出一个范围内的数字,但我想问你一个问题:

你真的需要三个数字列表还是只需要 查看解决方案的可能值

我这样问是因为尽管你能找到你想要的答案,但它并不是你前进方向的最佳表达方式。例如:

for c in range(1, 1001):
    for b in range(1, c):
        for a in range(1, b):
             if is_pythagorean_triple(a, b, c):
                 ...

def is__pythagorean_triple(a, b, c):
    ...

不会创建任何列表,至少没有您需要考虑的列表。另一个问题是为什么a的范围只有b

虽然你的问题是如何列出一个范围内的数字,但我想问你一个问题:

你真的需要三个数字列表还是只需要 查看解决方案的可能值

我这样问是因为尽管你能找到你想要的答案,但它并不是你前进方向的最佳表达方式。例如:

for c in range(1, 1001):
    for b in range(1, c):
        for a in range(1, b):
             if is_pythagorean_triple(a, b, c):
                 ...

def is__pythagorean_triple(a, b, c):
    ...

不会创建任何列表,至少没有您需要考虑的列表。另一个问题是为什么a的范围只有b

Protip:为变量使用有意义的名称。Protip:为变量使用有意义的名称。它给出错误回溯最新调用最后:文件euler9.py,第10行,在lista.pop-1索引器中:从空列表中弹出:/@c3ns0r3d是否在while循环之前进行这些调用lista=range1,1001等?如果您按照我在回答中所示的方式创建lista,您肯定可以毫无困难地执行lista.pop-1。@c3ns0r3d如果看不到所有当前代码,很难说。您发布的代码没有正确缩进,可能已经更改。问题不在于列表创建或pop函数。@c3ns0r3d我建议您在shell中以交互方式尝试一些列表创建和函数,以了解它们,然后相应地修改程序。这就是当我遇到一些意想不到的程序行为时通常的工作方式。通过这种方式,您可以说服自己列表是如何创建的以及pop函数的使用。在记事本++上,缩进是正确的,没有列表变量是我的全部代码,我倾向于只为这些挑战编写代码片段。它给出了错误回溯最近一次调用:文件euler9.py,第10行,在lista.pop-1索引器中,ror:pop from empty list:/@c3ns0r3d在while循环之前是否调用lista=range1、1001等?如果您按照我在回答中所示的方式创建lista,您肯定可以毫无困难地执行lista.pop-1。@c3ns0r3d如果看不到所有当前代码,很难说。您发布的代码没有正确缩进,可能已经更改。问题不在于列表创建或pop函数。@c3ns0r3d我建议您在shell中以交互方式尝试一些列表创建和函数,以了解它们,然后相应地修改程序。这就是当我遇到一些意想不到的程序行为时通常的工作方式。通过这种方式,您可以说服自己列表是如何创建的以及pop函数的使用。在notepad++上,缩进是正确的,没有列表变量就是我的全部代码,我倾向于为这些挑战编写代码片段
lista = listb = listc = range(1, 1001)
for c in range(1, 1001):
    for b in range(1, c):
        for a in range(1, b):
             if is_pythagorean_triple(a, b, c):
                 ...

def is__pythagorean_triple(a, b, c):
    ...