太多的静态嵌套块python [英] too many statically nested blocks python
问题描述
我正尝试在文本文件的列中写入21个以上的列表,其中包含相同数量的项目.
I'm trying to write more than 21 lists containing the same number of items to columns in a text file.
import random
a=[]
b=[]
....
q=[]
for i in range(200):
a.append(random.gauss(10,0.1))
b.append(random(20,0.5))
....
q.append(random.gauss(50,0.2)
for aVal in a:
for bVal in b:
....
for qVal in q:
print(aVal, "\t ", bVal, ", ", .... , qVal)
....
SystemError: too many statically nested blocks
如何将每个列表写入文本文件中的列?例如
How can I write each list to a column in a text file? e.g.
0.892550 0.872493 0.206032 2.528080
0.722350 0.303438 0.176304 2.436103
0.875931 0.717765 0.144785 2.583095
0.890831 0.411748 0.124370 2.540974
0.764183 0.728080 0.128309 2.506590
0.831232 0.545845 0.130100 2.517765
0.754441 0.826074 0.208539 2.604585
0.707450 0.367049 0.198868 2.503152
0.736103 0.554441 0.097865 2.563324
0.792837 0.808883 0.179527 2.526361
0.719484 0.690258 0.215344 2.643266
0.788252 0.824355 0.189198 2.455874
推荐答案
静态嵌套的块太多",当嵌套的块超过20个时,您将遇到此错误.
"too many statically nested blocks", You will encounter this error when you nest blocks more than 20.
这是python解释器的设计决策,将其限制为20个. Python使用称为 blockstack 的特殊堆栈来执行代码块,例如异常和循环.该堆栈大小限制为20.
This is a design decision of python interpreter to restrict it to 20. Python uses a special stack called blockstack to execute code blocks, such as exception and loops. This stack size is limited to 20.
不过,可以在您的上下文中使用以下代码.
Though, the following code can be used in your context.
lst1 = [1, 11, 111]
lst2 = [2, 22, 222]
lst3 = [3, 33, 333]
lst4 = [4, 44, 444]
lst5 = [5, 55, 555]
lst6 = [6, 66, 666]
def lamlist(l1, l2, l3):
funs = []
for i in l1:
for j in l2:
for k in l3:
x = lambda i=i, j=j, k=k: (i,j,k)
funs.append(x)
return funs
#def lamlist(l1, l2, l3):
# return [lambda i=i, j=j, k=k: (i, j, k) for i in l1 for j in l2 for k in l3]
funlist = [lamlist(lst1, lst2, lst3), lamlist(lst4, lst5, lst6)]
for f1 in funlist[0]:
a, b, c = f1()
for f2 in funlist[1]:
d, e, f = f2()
print a, b, c, d, e, f
此代码将嵌套减少了3级.
This code reduces your nesting by degree of 3.
这篇关于太多的静态嵌套块python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!