亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python - 根據結尾列表刪除單詞的結尾

Python - 根據結尾列表刪除單詞的結尾

守候你守候我 2021-08-05 16:39:56
如果單詞的結尾類似于給定列表中的任何可能結尾,我想刪除單詞的結尾。我使用了以下代碼:ending = ('os','o','as','a')def rchop(thestring):  if thestring.endswith((ending)):    return thestring[:-len((ending))]  return thestringrchop('potatos')結果是:“鍋”。但我想要這個:'potat'我怎樣才能解決這個問題?
查看完整描述

3 回答

?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

您當時正在按照結尾元組的長度(4 個元素)對字符串進行切片。這就是您收到錯誤字符串的原因。


endings = ('os','o','as','a')


def rchop(thestring):

    for ending in endings:

        if thestring.endswith(ending):

            return thestring[:-len(ending)]

    return thestring


print(rchop('potatos'))

返回:


potat


查看完整回答
反對 回復 2021-08-05
?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

或者試試這個(很短),(注意,即使在非ending元素位于字符串末尾時也能工作):


def f(s):

    s2=next((i for i in ending if s.endswith(i)),'')

    return s[:len(s)-len(s2)]

現在:


print(f('potatos'))

是:


potat

正如預期的那樣!!!


查看完整回答
反對 回復 2021-08-05
  • 3 回答
  • 0 關注
  • 200 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號