用 Python 编写一个程序来过滤包含以"a"开头和结尾的字符串的系列中的元素

pythonpandasserver side programmingprogramming更新于 2024/6/17 7:08:17

输入 − 假设您有一个系列,

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

相关文章


有用资源