尝试为我的播放器创建一个简单的地图,地图使用多行,但有没有办法可以将所有这些行存储到1个变量?所以我可以一次打印它们也可以打印它们就像打印一样(行[2] [4])
row1 = [" -", " -", " -", " -", " -", " -", " -"]
row2 = [" -", " -", " -", " -", " -", " -", " -"]
row3 = [" -", " -", " -", " -", " -", " -", " -"]
row4 = [" -", " -", " -", " -", " -", " -", " -"]
row5 = [" -", " -", " -", " -", " -", " -", " -"]
row6 = [" -", " -", " -", " -", " -", " -", " -"]
row7 = [" -", " -", " -", " -", " -", " -", " -"]
据我所知,我可以将其浓缩为一个功能并立即打印,但我想按上述方式调用它
答案 0 :(得分:1)
如果您想保留现有变量,可以执行以下操作:
row = [row1, row2, row3, row4, row5, row6, row7]
print(row[2][4])
或者您可以将row
定义为列表列表:
row = [
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
]
print(row[2][4])
答案 1 :(得分:1)
是;在Python中,可以创建一个列表列表,这可以实现您的目标。您可以使用现有变量并设置行:
rows = [row1, row2, row3, row4, row5, row6, row7]
或者您可以简单地省去各行并一次性设置2D列表,因此:
row1 = [[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"],
[" -", " -", " -", " -", " -", " -", " -"]]
然后,您可以按照自己的意愿访问各个元素,使用rows[2][4]
等。
答案 2 :(得分:0)
您可以使用字典:
row = {1 : [" -", " -", " -", " -", " -", " -", " -"],
2 : [" -", " -", " -", " -", " -", " -", " -"],
3 : [" -", " -", " -", " -", " -", " -", " -"],
4 : [" -", " -", " -", " -", " -", " -", " -"],
5 : [" -", " -", " -", " -", " -", " -", " -"],
6 : [" -", " -", " -", " -", " -", " -", " -"],
7 : [" -", " -", " -", " -", " -", " -", " -"]}
这将有助于您像对变量一样维护计数。
如果您已经拥有这些变量,则可以使用enumerate
:
row = dict(enumerate([row1, row2, row3, row4, row5, row6, row7], 1))
你得到同样的,只有一行。