擅长:python、mysql、java
<p>这是我的快速技巧。它有点不干净,但它很短,相对有效。你知道吗</p>
<pre><code>def get_dimensions(lut):
dim = 0
test = lut
try:
while test[0]:
dim = dim + 1
test = test[0]
except TypeError:
return dim
def to_onedimensional(lut, dim, output, counter):
if(counter == dim - 1):
for x in lut:
output.append(x)
else:
for x in lut:
to_onedimensional(x, dim, output, counter + 1)
</code></pre>
<p>使用方法如下:</p>
<pre><code>lut = [[[3],[4]], [[2],[3]]]
print(get_dimensions(lut))
output = []
to_onedimensional(lut, get_dimensions(lut), output, 0)
res = set(output)
print(len(res))
</code></pre>
<p>输出:</p>
<pre><code>3
3
</code></pre>