【发布时间】:2018-10-06 18:47:50
【问题描述】:
假设我有一个列表
ls = [[1,2,3],
[4,5,6],
[7,8,9]]
现在我想将此列表拆分为其他较小的正方形 2d 列表,其中正方形的边由输入 k 确定。因此,如果 k 为 2,我将获得 4 个新列表,试图在它们之间平均分配元素,这些列表将是:
L1 = [1,2,
4,5]
L2 = [3,
6]
L3 = [7,8]
L4 = [9]
我不太确定我该怎么做。如果我决定方格的数量,我可以拆分列表,但如果方格的数量是用户输入的随机数,则不能。我试过这个,但在决定第一个元素块之后,我不确定如何从这一点继续。
ls = [[1,2,3],
[4,5,6],
[7,8,9]]
def splitList(ls, k):
if len(ls) == 1:
return ls[0]
else:
for x in range(k):
for y in range(k):
print (ls[x][y])
print (splitList(ls, 2))
任何帮助将不胜感激。 感谢您的宝贵时间!
【问题讨论】:
-
数组和列表在 Python 中是不可互换的术语。如果您不知道区别,那么您正在使用列表。此外,您的列表不是“平均分布的”