【发布时间】:2019-12-06 03:50:57
【问题描述】:
我是一名尝试学习列表和数组的初学者,尤其是维度列表。我真的在为如何为输出示例中显示的列表编写代码而苦苦挣扎。我希望能得到一些帮助,让我朝着正确的方向前进。
以下是我希望列表的外观示例
# If I put in 4 as a example, the result will be this:
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8], [0, 3, 6, 9, 12], [0, 4, 8, 12, 16]]
0 0 0 0 0
0 1 2 3 4
0 2 4 6 8
0 3 6 9 12
0 4 8 12 16
我的代码如下:
def myNumber():
chooseNumber=int(input("\nPlease enter a number between [1, 12]: "))
while not (chooseNumber >= 1 and chooseNumber <= 12):
print("That number is not between [1, 12], try again.")
chooseNumber=int(input("Please enter a number between [1, 12]: "))
print("Your number is:", chooseNumber)
myNumber()
#---- the code below I am struggling with here ----#
n = 4
[[i*j for i in range(n+2)] for j in range (n+2)]
# x = [ [1,3],[2,4] ]
print([[i*j for i in range(n+2)] for j in range (n+2)])
【问题讨论】:
-
你到底在纠结什么?您是否收到错误或意外结果?
-
@user1558604 不,我正在努力解决如何以与我展示的示例相同的方式正确处理列表
-
你为什么用
n+2而不是n+1? -
@user1558604 就像我说的我是初学者,所以我对这类东西知之甚少
-
for row in xyz: print row其中xyz是您的列表理解。这将在每一行上打印一个列表。如果你不想要括号,那么for row in a: print(" ".join((map(str, row))))这看起来有点复杂,但我会分解它。" ".join(*iterable*)接受一个(字符串的)可迭代对象并形成一个字符串,其中每个可迭代对象的值之间有一个空格。map(str,row)部分将row列表中的所有int值一次全部转换为字符串。这是join函数所必需的(因为它需要可迭代的字符串)。
标签: python arrays python-3.x list sorting