用 Python 编写一个程序来过滤包含字符串开头和结尾的系列中的元素 'a'
输入-假设,你有一个系列,
0 apple 1 oranges 2 alpha 3 aroma 4 beta
输出-并且,元素的结果以'a'开始和结束。
2 alpha 3 aroma
解决方案1
定义一个系列。
创建正则表达式以检查开始和结束于'a'
r'^[a]$|^([a]).*\1$'
创建一个空列表并设置for循环并设置if条件以检查模式。它定义如下,
for i in data: if(re.search(exp, i)): ls.append(i)
最后,使用isin().
例子
让我们看看下面的实现,以便更好地理解。
import pandas as pd import re l = ["apple","oranges","alpha","aroma","beta"] data = pd.Series(l) exp = r'^[a]$|^([a]).*\1$' ls = [] for i in data: if(re.search(exp, i)): ls.append(i) print(data[data.isin(ls)])
输出
2 alpha 3 aroma
解决方案2
例子
import pandas as pd import re l = ["apple","oranges","alpha","aroma","beta"] data = pd.Series(l) result = list(filter(lambda x:x.startswith('a') and x.endswith('a'),l)) print(data[data.isin(result)])
输出
2 alpha 3 aroma