我正在尝试使用三个参数创建一个函数:x,y,val将返回一个包含x行和y列的二维数组,并且每个值都初始化为val。 e.g。
myList = createList(2,3,"-")
会创建结果列表: [[“ - ”,“ - ”,“ - ”] [“ - ”,“ - ”,“ - ”]]
到目前为止,我为此创建了以下函数,但它将所有初始值放在一个列表中:
def createList(x,y,val):
myList=[]
for i in range(x):
for j in range(y):
myList.append(val)
return myList
print(createList(2,3,"-"))
创建输出:[' - ',' - ',' - ',' - ',' - ',' - ']
答案 0 :(得分:2)
你可以简单地使用python中的list comprehension在python中创建一个2D数组。
def create2DArray(x, y, val):
return [[val for i in range(y)] for j in range(x)]
myList = create2DArray(2, 3, '-')
print(myList)
答案 1 :(得分:0)
您可以使用列表推导来执行此操作。 首先,创建一个x列表列表:
[[] for i in range(x)]
您还可以创建y val列表:
[val for j in range(y)]
将这些结合起来会给你:
createList(x,y,val):
return [["-" for j in range(y)] for i in range(x)]