簡體   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