一个简短的问题:是否可以将生成器表达式中的计算结果分配给引用者?将计算值赋给生成器表达式中的变量?
假设我有一个这样的表达:
m = (float(i.dist) - float(base) for i in met_obj if str(i.code) != '90')
i.dist
是我想机会对象的属性。我想:
m = (float(i.dist) -= float(base) for i in met_obj if str(i.code) != '90')
或者我需要使用发电机来代替?
谢谢! LarsVegas
问题不是很清楚......你能举一些例子输入和输出吗? – jamylak 2012-04-05 11:53:53
你想要生成的值是什么?你想让它们等于'新'i.dist'值吗?或者是什么? – 2012-04-05 11:53:55
我正在通过基本上全部保存相同信息的不同文件(例如距交点的距离)循环。但是有些人在现实世界xy中还有其他人。数据存储在一个类中,i.dist例如是第i行的一个属性。因此,如果符合某些条件,想要更改“i”这个对象的属性,就像这个“i.dist = i.dist - base”一样。澄清:现在'met_obj [0] .dist ='126165.26''应该变成'met_obj [0] .dist = -32.5'。希望这有助于理解......干杯 – LarsVegas 2012-04-05 12:06:52