我可以通过python中的那一行调用一个变量吗?

时间:2018-06-11 13:29:53

标签: python list variables python-3.6

尝试为我的播放器创建一个简单的地图,地图使用多行,但有没有办法可以将所有这些行存储到1个变量?所以我可以一次打印它们也可以打印它们就像打印一样(行[2] [4])

row1 = [" -", " -", " -", " -", " -", " -", " -"]
row2 = [" -", " -", " -", " -", " -", " -", " -"]
row3 = [" -", " -", " -", " -", " -", " -", " -"]
row4 = [" -", " -", " -", " -", " -", " -", " -"]
row5 = [" -", " -", " -", " -", " -", " -", " -"]
row6 = [" -", " -", " -", " -", " -", " -", " -"]
row7 = [" -", " -", " -", " -", " -", " -", " -"]

据我所知,我可以将其浓缩为一个功能并立即打印,但我想按上述方式调用它

3 个答案:

答案 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))

你得到同样的,只有一行。