編寫一個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 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.