我在python中遇到了一些语法问题。
下面是一个简单的例子:
而不是(1):
value = []
value.append(int(self.val1.GetValue()))
value.append(int(self.val2.GetValue()))
value.append(int(self.val3.GetValue()))
value.append(int(self.val4.GetValue()))
我想要那样做(2):
value = []
for i in range(4):
value.append(int(self.val + (i + 1) + .GetValue()))
但是你看,这是一个无效的语法。
问题是我必须在上面的循环中纠正以获得与(1)
中相同的故事答案 0 :(得分:2)
value = [int(v.GetValue()) for v in (self.val1, self.val2, self.val3, self.val4)]
可能是最干净的方式。
更短的是使用getattr(self, 'val%d' % i).GetValue()
的东西,但那很难看。