该代码如何简化?就是那个问题。简化列表
stat_keys.append(self.request.get("stat_one"))
stat_keys.append(self.request.get("stat_two"))
stat_keys.append(self.request.get("stat_three"))
stat_keys.append(self.request.get("stat_four"))
该代码如何简化?就是那个问题。简化列表
stat_keys.append(self.request.get("stat_one"))
stat_keys.append(self.request.get("stat_two"))
stat_keys.append(self.request.get("stat_three"))
stat_keys.append(self.request.get("stat_four"))
stat_keys += [self.request.get(k) for k in ('stat_one', 'stat_two', 'stat_three', 'stat_four')]
或
stat_keys += map(self.request.get, ('stat_one', 'stat_two', 'stat_three', 'stat_four')))
或
map(stat_keys.append, map(self.request.get, ('stat_one', 'stat_two', 'stat_three', 'stat_four')))
我建议第一个,虽然。
很难回答不知道什么任何变量都有,但如何对这样的:
for stat in ('stat_one', 'stat_two', 'stat_three', 'stat_four'):
stat_keys.append(self.request.get(stat))
或者,使用生成器表达式:
[stat_keys.append(self.request.get(stat)) for stat in ('stat_one', 'stat_two', 'stat_three', 'stat_four')]
更改为.extend()
与发电机的表达:
stat_keys.extend(self.request.get(stat) for stat in('stat_one', 'stat_two', 'stat_three', 'stat_four'))
s_list = [ "stat_one", "stat_two", "stat_three", "stat_four" ]
[ stat_keys.append(self.request.get(s)) for s in s_list ]
假设'stat_keys'支持'extend',这是我们不从有关资料了解。 – aquavitae