编写一个程序,它取2位数,X,Y作为输入,并生成一个二维数组。数组的第i行和第j列中的元素值应为i * j。 注意:i = 0,1 ..,X-1; J = 0,1,¡Y-1
假设为程序提供以下输入: 3,5 然后,程序的输出应该是: [[0,0,0,0,0],[0,1,2,3,4],[0,2,4,6,8]]
x=int(raw_input())
y=int(raw_input())
l=[]
for i in range(x):
for j in range(y):
l.append((i*j))
print l
[0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 0, 2, 4, 6, 8]
我无法像最后一样接触:
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 2, 4, 6, 8]]
有人可以建议。感谢。
答案 0 :(得分:1)
length()
答案 1 :(得分:0)
x = int(raw_input())
y = int(raw_input())
l = []
列表信息:https://docs.python.org/2/tutorial/datastructures.html
for i in range(x):
l.append([]) # Add a empty nested list
for j in range(y):
l[-1].append(i * j) # append to index of nested empty list
INPUT:INT(3,5)
OUTPUT:l = [[0,0,0,0,0],[0,1,2,3,4],[0,2,4,6,8]]
列表理解:
如果您正在寻找一个较短的脚本,您可以尝试列表理解来代替您的for循环。
例如:
l = [[j * i for j in range(y)]for i in range(x)]
INPUT INT(3,5)
OUTPUT:l = [[0,0,0,0,0],[0,1,2,3,4],[0,2,4,6,8]]