擅长:python、mysql、java
<p>虽然不是最具python风格的方式,但您可以尝试使用此代码,请阅读下面代码中的注释:</p>
<pre><code>import itertools, random
inputArray = [ [0, 1, 2, 3, 4], [2, 3, 5, 7, 8], [9, 6, 1] ]
outputArray = []
max_length = max(len(e) for e in inputArray) # maximum length of the sublists in <inputArray>
i = 0 # to keep the index of sublists of <outputArray>
for j in range(max_length):
outputArray.append([]) # add new sublist
for e in inputArray: # iterate through each element of <inputArray>
try:
outputArray[i].append(e[j]) # try to append the number, if an exception is raised
# then the code in the <except> clause will be executed
except IndexError as e:
outputArray[i].append(random.randint(0, 10)) # add the random number
i += 1 # increase the sublists index on each iteration
print outputArray
# [[0, 2, 9], [1, 3, 6], [2, 5, 1], [3, 7, 3], [4, 8, 7]]
</code></pre>
<p><strong>注意:</strong></p>
<p>你可能想换个零件</p>
<pre><code>random.randint(0, 10)
</code></pre>
<p>获取<em>“N邻居”</em>。你知道吗</p>