str = ''
for i in self.obj:
str += '[' + self.obj[i] + ']';
Run Code Online (Sandbox Code Playgroud)
有没有办法简化代码?
假设这self.obj是一个字典:
string = ''.join('[%s]' % x for x in self.obj.itervalues())
Run Code Online (Sandbox Code Playgroud)
如果它是一个自定义对象实现__getitem__:
string = ''.join('[%s]' % self.obj[x] for x in self.obj)
Run Code Online (Sandbox Code Playgroud)
请注意,我不使用str变量名称.你不应该这样做,因为它是Python中的内置函数.
更新:关于你的最后评论,你可以做这样的事情:
string = ''.join('[%s%s]' % (x[1:], self.obj[x]) for x in self.obj)
Run Code Online (Sandbox Code Playgroud)
或者如果您更喜欢(更多Pythonic?)format方法:
string = ''.join('[{0}{1}]'.format(x[1:], self.obj[x]) for x in self.obj)
Run Code Online (Sandbox Code Playgroud)