Python命名元组切片



这是我的第一个问题…

如果我有一个像下面这样的namedtuple

 FDResult = namedtuple('FDResult', ['S', 'Payoff', 'V'])

我有一个数组,它有一个namedtuple的集合,就像下面的

 bla = [FDResult(S=100.0, Payoff=0.0, V=0.4693541525097441),
 FDResult(S=102.0, Payoff=1.0, V=0.4944046100897207),
 FDResult(S=104.0, Payoff=1.0, V=0.5188897967596792),
 FDResult(S=106.0, Payoff=1.0, V=0.5427339609362274),
 FDResult(S=108.0, Payoff=1.0, V=0.5658731041633024)]

如何得到S的数组切片?

 bla[:].S #I want to get [100.0,102.0,104.0,...] as a result

当出现如下错误时:AttributeError: 'list' object has no attribute 'S'…

感谢任何建议。谢谢。

我想你需要一个列表推导式,例如

[x.S for x in bla[:]]

你当然可以在这里替换列表中更一般的部分,例如bla[1:-1:2] .

最新更新