Python的namedtuple片
这是我的第一个问题在这里...Python的namedtuple片
,如果我有一个像下面
FDResult = namedtuple('FDResult', ['S', 'Payoff', 'V'])
一个namedtuple和我有了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的: '名单' 对象有没有属性 'S' ......
任何建议表示赞赏。 谢谢。
不妨是'for x in bla',你不需要创建一个副本。 – millimoose
当我读到这个问题的时候,这个问题的关键就是使用_slice_,所以我用'bla [:]'作为片的一个通用示例(就像OP也使用过的那样)。 – wim
当我阅读它时,整个观点是对片的功能的基本误解。 (看来这里完全没用) – millimoose
这不是什么切片。切片从一个集合中选择一系列索引(例如,'l [-2:]'返回一个新列表和'l'的最后两个元素),它不会从其成员中选择属性。 – millimoose
'bla [:]'只是给你一份清单的副本。切片不会挖出部分元素;它只给你一些元素的子集。你需要一个列表理解,就像在@ wim的答案中一样。 – Eevee