【发布时间】:2015-05-26 15:43:09
【问题描述】:
我有一个orderedDict:
dict2.items():
[('A', <function __main__.percentile_50>),
('B', <function numpy.core.fromnumeric.sum>),
('C', <function numpy.core.fromnumeric.sum>),
('D', <function numpy.core.fromnumeric.mean>),
etc...
我想创建一个列来说明所使用的描述性(percentile_50、sum、mean 等)。我正在考虑找到最后一个 .,然后抓取它后面的字符直到 >。所以我最终会得到percentile_50, sum, sum, mean, etc.。有什么建议吗?
【问题讨论】:
-
您真的尝试过这样做吗?
rsplit会变得非常简单。 -
@jonrsharpe 不,我不确定从哪里开始。我在想可能是某种
split或regex。我会调查rsplit,谢谢领导! -
看起来您将函数对象存储在元组中而不是 str 中
-
如果有人只使用
sum,例如repr(sum)给出'<built-in function sum>',该怎么办。或者有人以合格的方式导入了这些函数,使得名称不包含点字符,或者在运行时更改名称? -
我现在使用
str(dict2.items()[2][1]).split('function ')[1].split(' at')。我认为这应该可行,除非有人认为这是一种糟糕的执行方式