str = ''
for i in self.obj:
str += '[' + self.obj[i] + ']';
有没有办法简化代码?
答案 0 :(得分:6)
假设self.obj
是dict:
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)