我有这个代码(用于roomMap的左墙):
roomMap = []
ones = [1] * 50
for i in ones:
roomMap = roomMap + [[i]]
roomMap.append("\n")
print(len(roomMap))
print(roomMap)
它应该在50行上打印50
然后[1]
,但它打印100
然后重复[1],'\n'
50次。
为什么会发生这种情况?
它打印100次并重复[1],'\n'50次,因为您将“\n”追加到房间图。
您所做的是将[1]和“\n”都添加到列表“Roommap”中。 因此,对于每一次迭代,您都要将2个元素([1]和“\n”)推送到列表中。 列表不是字符串,因此不需要追加空白字符。
尝试使用:
roomMap = []
ones = [1] * 50
for i in ones:
roomMap = roomMap + [[i]]
print(len(roomMap))
for i in roomMap:
print(i)
给你:
roomMap = [1] * 50 # Here, the list is filled with 1
print(len(roomMap))
for i in roomMap:
print(i)
print()已经转到下一行。 此打印:
50
1
1
1
1 #etc..
如果您想要列表的列表,只需添加括号
roomMap = [[1]] * 50 #Here, the list is filled with [1]
print(len(roomMap))
for i in roomMap:
print(i)
这张照片
50
[1]
[1]
[1] #etc..