Python “生成网格/嵌套列表”;";由「;";
所以我的问题是,我试图创建一个宽度和高度相等的嵌套列表,它由1到100之间的随机整数填充 我的密码是: 我的错误是int类型对于类似的输出+= 我走错方向了吗?还是我遗漏了什么 谢谢Python “生成网格/嵌套列表”;";由「;";,python,nested-lists,Python,Nested Lists,所以我的问题是,我试图创建一个宽度和高度相等的嵌套列表,它由1到100之间的随机整数填充 我的密码是: 我的错误是int类型对于类似的输出+= 我走错方向了吗?还是我遗漏了什么 谢谢 import random def generateRandomGrid(n): randomList = [] for i in range(n) : randomList.append(random.randint(1,100)) for i in range(n):
import random
def generateRandomGrid(n):
randomList = []
for i in range(n) :
randomList.append(random.randint(1,100))
for i in range(n):
output=random.randint(1,100)
for j in range(n):
output+= str(randomList[i][j]) + random.randint(1,100)
print(output)
def main() :
print(generateRandomGrid(5))
main()
列出理解是你的朋友:
grid = [[randint(1, 100) for _ in range(100)] for _ in range(100)]
转换为函数:
def generate_random_grid(n):
return [[randint(1, 100) for _ in range(n)] for _ in range(n)]
更优雅:
def generate_random_grid(size, min=1, max=100):
return [[randint(min, max) for _ in range(size)] for _ in range(size)]
注意:
如果使用Python2.7或更早版本,请将
范围更改为xrange
列表理解是您的朋友:
grid = [[randint(1, 100) for _ in range(100)] for _ in range(100)]
转换为函数:
def generate_random_grid(n):
return [[randint(1, 100) for _ in range(n)] for _ in range(n)]
更优雅:
def generate_random_grid(size, min=1, max=100):
return [[randint(min, max) for _ in range(size)] for _ in range(size)]
注意:
如果使用python 2.7或更早版本,请更改range
的xrange
如果我的理解正确,您需要一个宽度和高度相等的列表
import random
def generateRandomGrid(n):
randomList = []
for i in range(n) :
num = random.randint(1,100)
randomList.append([num, num])
return randomList
def main() :
print(generateRandomGrid(5))
main()
输出:
[[92,92],[8,8],[10,10],[37,37],[11,11]。
如果我的理解是正确的,您需要一个宽度和高度相等的列表
import random
def generateRandomGrid(n):
randomList = []
for i in range(n) :
num = random.randint(1,100)
randomList.append([num, num])
return randomList
def main() :
print(generateRandomGrid(5))
main()
输出:
[[92,92],[8,8],[10,10],[37,37],[11,11]
也许你在寻找:
from random import randint
n= 4
rand_matrix = [ [ randint(0, 100) for none in range(n)] for none in range(n)]
print(rand_matrix)
#=> [[49, 29, 15, 52], [6, 34, 19, 99], [91, 29, 83, 60], [13, 32, 95, 81]]
也许你在寻找:
from random import randint
n= 4
rand_matrix = [ [ randint(0, 100) for none in range(n)] for none in range(n)]
print(rand_matrix)
#=> [[49, 29, 15, 52], [6, 34, 19, 99], [91, 29, 83, 60], [13, 32, 95, 81]]
一个简单的选择是使用numpy的随机整数函数
import numpy as np
def generateRandomGrid(n):
return np.random.randint(1,101,(n,n)).tolist()
一个简单的选择是使用numpy的随机整数函数
import numpy as np
def generateRandomGrid(n):
return np.random.randint(1,101,(n,n)).tolist()
这一行output+=str(randomList[i][j])+random.randint(1100)
产生错误,因为randomList
是一个整数列表,因为您的是添加的整数(randomList.append(random.randint(1100))
),而不是另一个列表这一行output+=str(randomList[i][j])+random.randint(1100)
产生错误,因为randomList
是一个整数列表,因为您是添加的整数(randomList.append(random.randint(1100))
)而不是另一个列表您的宽度和高度不相等。我认为问题是要有一个nxn网格。你的宽度和高度是不相等的。我认为问题是要有一个nxn网格。