我是 python 的新手,我知道我可以使用迭代(例如 for 循环)使下面的代码更简洁,我只是不知道该怎么做
这是我目前的情况
# Open file for reading
dataFileRead = open(filename, "r")
# Read file content into a list - to be completed - Part 1
SampleData = [line.rstrip('\n') for line in open(filename)]
print(SampleData)
variables = [mazeWidth, mazeHeight, aNumOfTreasures, aNumOfBombs, emptyCell, treasure, bomb, exitGate, boundary, boundarySide]
mazeWidth = SampleData[0]
mazeHeight = SampleData[1]
aNumOfTreasures = SampleData[2]
aNumOfBombs = SampleData[3]
emptyCell = SampleData[4]
treasure = SampleData[5]
bomb = SampleData[6]
mario = SampleData[7]
exitGate = SampleData[8]
boundary = SampleData[9]
boundarySide = SampleData[10]
任何输入都有帮助!谢谢
最佳答案
您可以使用字典来保存变量的名称和值,而不是使用单独的变量:
variable_names = ['mazeWidth', 'mazeHeight', 'aNumOfTreasures', 'aNumOfBombs', 'emptyCell', 'treasure', 'bomb', 'exitGate', 'boundary', 'boundarySide']
variables = {
name: SampleData[i] for i, name in enumerate(variable_names)
}
以后,如果你想要变量exitGate
的值,例如,你可以使用:
variables['exitGate']
对于赋值,使用:
variables['exitGate'] = "some value"
但是如果你想要单独的变量,你可以使用这个:
for i, name in enumerate(variable_names):
globals()[name] = SampleData[i]
稍后您可以像往常一样访问(获取和设置)变量 (print(exitGate); exitGate = "some value"
)。
关于python - 我如何使用迭代来提高效率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57279904/