用 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