编写一个Python程序,过滤掉一个序列中开头和结尾都是“a”的元素。
输入 − 假设你有一个序列,
0 apple 1 oranges 2 alpha 3 aroma 4 beta
输出 − 以及开头和结尾都是“a”的元素的结果。
2 alpha 3 aroma
方案一
定义一个序列。
创建正则表达式来检查开头和结尾是否为“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
方案二
示例
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
广告