繁体   English   中英

最后一段之后从字符串中提取字符

[英]Extract characters from string after last period

我有一个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. 有什么建议么?

如果您的元组中有字符串,则可以在列表推导中使用split

>>> 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')]

但是,如果有函数对象,则可以对函数使用__name__属性来提取名称:

>>> [(i,j.__name__) for i,j in l]
[('A', 'percentile_50'), ('B', 'sum'), ('C', 'sum'), ('D', 'mean')]

使用正则表达式的解决方案之一:

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

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM