У меня есть строка SQL, например
SELECT * FROM benchmark WHERE xversion = 1.0
И на самом деле, xversion является псевдонимом переменной, а self.alias содержит всю информацию о псевдониме, например,
{'CompilationParameters_Family': 'chip_name',
'xversion': 'CompilationParameters_XilinxVersion', 'opt_param':
....
'chip_name': 'CompilationParameters_Family',
'CompilationParameters_Device': 'device'}
Используя этот псевдоним, я должен изменить строку следующим образом.
SELECT * FROM benchmark WHERE CompilationParameters_XilinxVersion = 1.0
Для этого изменения я придумал следующее.
def processAliasString(self, sqlString):
components = sqlString.split(' ')
resList = []
for comp in components:
if comp in self.alias:
resList.append(self.alias[comp])
else:
resList.append(comp)
resString = " ".join(resList)
return resString
Но я ожидаю, что лучший код не будет использовать цикл for. Что ты думаешь?