Предполагая, что self.obj
является диктом:
string = ''.join('[%s]' % x for x in self.obj.itervalues())
Если это пользовательский объект, реализующий вместо __getitem__
:
string = ''.join('[%s]' % self.obj[x] for x in self.obj)
Обратите внимание, что я не использую str
в качестве имени переменной. Вы не должны делать это также , потому что это встроенная функция в Python.
ОБНОВЛЕНИЕ: Что касается вашего последнего комментария, вы можете сделать что-то вроде этого:
string = ''.join('[%s%s]' % (x[1:], self.obj[x]) for x in self.obj)
Или, если вы предпочитаете (более Pythonic?) format
метод:
string = ''.join('[{0}{1}]'.format(x[1:], self.obj[x]) for x in self.obj)