Python 从最后一个句点后的字符串中提取字符

Python 从最后一个句点后的字符串中提取字符,python,regex,pandas,slice,Python,Regex,Pandas,Slice,我有一个订购的ICT: 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... dict2

我有一个
订购的ICT

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...
dict2.items():
[('A',),
(B),,
(C,),,
(‘D’,),
等

我想创建一个列,说明使用了什么描述性描述(百分位_50、总和、平均值等)我想找到最后一个
,然后抓取它后面的字符,直到
。因此,我会得到
百分位_50,求和,求和,平均值等。
。有什么建议吗?

如果元组中有字符串,可以在列表中使用
拆分

>>> l=[('A', '<function __main__.percentile_50>'),
...  ('B', '<function numpy.core.fromnumeric.sum>'),
...  ('C', '<function numpy.core.fromnumeric.sum>'),
...  ('D', '<function numpy.core.fromnumeric.mean>')]
>>> 
>>> [(i,j.strip('>').split('.')[-1]) for i,j in l]
[('A', 'percentile_50'), ('B', 'sum'), ('C', 'sum'), ('D', 'mean')]

使用regex的解决方案之一:

(?<=\.)([^.>]+)(?=>$)
(?]+)(?=>$)

你真的试过吗
rsplit
会使它变得非常简单。@jornsharpe不,我真的不知道从哪里开始。我在想可能是某种
split
regex
。我将查看
rsplit
,感谢您的指导!例如,如果有人只使用
sum
其中
repr(sum)
给出
'
,那么看起来您是在元组中存储函数对象,而不是strw。或者有人以限定的方式导入了这些函数,使其名称不包含点字符,或者在运行时更改了名称?我现在使用的是
str(dict2.items()[2][1]).split('function')[1]。split('at')
。我认为这应该行得通,除非有人认为这是一种糟糕的执行方式
(?<=\.)([^.>]+)(?=>$)