相关疑难解决方法(0)

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万
查看次数

获取一系列列表的笛卡尔积?

如何从一组列表中获取笛卡尔积(每种可能的值组合)?

输入:

somelists = [
   [1, 2, 3],
   ['a', 'b'],
   [4, 5]
]
Run Code Online (Sandbox Code Playgroud)

期望的输出:

[(1, 'a', 4), (1, 'a', 5), (1, 'b', 4), (1, 'b', 5), (2, 'a', 4), (2, 'a', 5) ...]
Run Code Online (Sandbox Code Playgroud)

python list cartesian-product

289
推荐指数
9
解决办法
18万
查看次数

如何在Python中使for循环金字塔更简洁?

在固体力学中,我经常使用Python并编写如下所示的代码:

for i in range(3):
    for j in range(3):
        for k in range(3):
            for l in range(3):
                # do stuff
Run Code Online (Sandbox Code Playgroud)

我经常这样做,我开始怀疑是否有更简洁的方法来做到这一点.当前代码的缺点是:如果我遵守PEP8,那么我不能超过每行79个字符的限制,并且没有太多的空间,特别是如果这又是一个类的功能.

python performance python-2.7 python-3.x

62
推荐指数
4
解决办法
3758
查看次数

具有不同数量的For循环的函数(python)

我的问题很难解释.

我想创建一个包含嵌套for循环的函数,
其数量与传递给函数的参数成比例.

这是一个假设的例子:

Function(2)
Run Code Online (Sandbox Code Playgroud)

......会涉及......

for x in range (y):
    for x in range (y):
        do_whatever()
Run Code Online (Sandbox Code Playgroud)

另一个例子...

  Function(6)
Run Code Online (Sandbox Code Playgroud)

......会涉及......

for x in range (y):
    for x in range (y):
        for x in range (y):
            for x in range (y):
                for x in range (y):
                    for x in range (y):
                        whatever()
Run Code Online (Sandbox Code Playgroud)

for循环(y)的变量实际上并未在嵌套代码中使用.

你的第一个想法可能是创建一个for循环,其范围是数字参数的功能......
这不能正常工作,因为产品将是巨大的.我需要实例,其中有8个嵌套for循环.
该产品对于for循环中的范围而言太大.

还有其他参数需要传递给函数,但我可以自己处理.

这是代码(它创建了Snowflake Fractal)

from turtle import *
length = 800
speed(0)

def Mini(length):
    for x in range (3):
        forward(length)
        right(60)

penup()
setpos(-500, 0)
pendown()   

choice …
Run Code Online (Sandbox Code Playgroud)

python recursion for-loop nested fractals

30
推荐指数
5
解决办法
2万
查看次数

Python嵌套循环成语

我经常发现自己这样做:

for x in range(x_size):
    for y in range(y_size):
        for z in range(z_size):
            pass # do something here
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法在Python中执行此操作?我正在考虑的事情

for x, z, y in ... ? :
Run Code Online (Sandbox Code Playgroud)

python foreach loops for-loop idioms

23
推荐指数
3
解决办法
1110
查看次数

Python:避免在数组上嵌套循环

我正在使用etree通过xml文件进行递归.

import xml.etree.ElementTree as etree
tree = etree.parse('x.xml')
root = tree.getroot()
for child in root[0]:
 for child in child.getchildren():
        for child in child.getchildren():
            for child in child.getchildren():
               print(child.attrib)
Run Code Online (Sandbox Code Playgroud)

在python中避免这些嵌套for循环的惯用方法是什么.

  getchildren() ? list of Element instances [#]
    Returns all subelements. The elements are returned in document order.

Returns:
A list of subelements.
Run Code Online (Sandbox Code Playgroud)

我在SO中看到了一些帖子,比如 避免嵌套for循环 但是没有直接转换为我的使用.

谢谢.

python

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

如何在Python中制作n维嵌套for循环?

我有以下情况:

for x1 in range(x1, x2):
    for x2 in range(x3, x4):
        for x3 ...
            ...
                f(x1, x2, x3, ...)
Run Code Online (Sandbox Code Playgroud)

如何将其转换为一种机制,在这种机制中我只告诉python制作n个嵌套循环,其中变量名是x1,x2,x3,x4,...?我当然不想手动编写所有可能性,因为可能有很多维度.

python loops dimensions

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

Python IndentationError - 如何重构?

我正在为编程实践做一个项目欧拉问题,以便自我教学.我非常清楚如何以数学方式解决问题,以及如何以编程方式进行.

但是,我必须提出一些疯狂的代码才能做到这一点; 100个嵌套循环和Python搞笑地引发了这个错误,并且可能正确地提出了100个级别的缩进:

IndentationError: too many levels of indentation



tally = 0
ceiling = 100
for integer_1 in range(0, 100, 1):
    for integer_2 in range(0, 100 - integer_1, 2):
        for integer_3 in range(0, 100 - integer_1 - integer_2, 3):
            for integer_4 ....
                for integer_5 ....
                    etc.
                        etc.
                            all the way to integer_100
Run Code Online (Sandbox Code Playgroud)

我已经通过谷歌寻找解决方案,但这个问题是如此罕见,它几乎没有关于这个主题的文献,我只能找到这个其他堆栈溢出问题(Python IndentationError:太多级别的缩进),我找不到很多有用的我的问题.

我的问题是 - 有没有办法采取我的解决方案,找到一些解决方法或以一种有效的方式重构它?我真的很难过.

编辑:

感谢nneonneo的回答,我能够解决这个问题.我的代码仅供将来参考,以寻找正确重构代码的方法.

from time import time
t = time()
count_rec_dict = {}

# for finding …
Run Code Online (Sandbox Code Playgroud)

python nested-loops

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

展平非常嵌套的循环

如果我有一组像这样的循环:

x = [[...],[...],[...]]    

for a in x[0]:
  for b in x[1]:
    for c in x[2]:
      # Do something with a,b,c
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来简化它,特别是如果它有更多的级别?这似乎很容易做到,但我无法弄清楚.

python loops for-loop

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

我想嵌套循环十次,有没有比这更好的方法?

像这样的东西.我想用10大小的字强制所有字符

lookup = map(chr, range(32, 127))
for i in lookup:
    for j in lookup:
        for k in lookup:
            for l in lookup:
                for m in lookup:
                    for n in lookup:
                        for o in lookup:
                            for p in lookup:
                                for q in lookup:
                                    for r in lookup:
                                       print(r) # whatever
Run Code Online (Sandbox Code Playgroud)

这是我的问题

1)有更好的方法吗?

2)这段代码的一个问题是打印(任何ijk ... r)无法正常工作,你能帮我解决问题吗?如果我给任何字符串它是工作但不是变量

3)我尝试使用perl,即使无法在循环中打印变量,如i,j,.. r

python perl programming-languages

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