编写一个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

更新于:2021年2月24日

59 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告