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

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

如果最后一個字符以特定字符開頭和結尾,則將其大寫

如果最后一個字符以特定字符開頭和結尾,則將其大寫

慕容3067478 2022-01-05 20:36:18
如果最后一個字符以“abc”開頭并以“n”結尾,我需要大寫。我已經寫了下面的代碼,但我似乎無法讓它工作,任何更正/輸入都非常有用bhp['cc']=bhp['cc'].apply( lambda x:x[0:-1] + x[-1].upper() if(x.startswith('abc') & x.endswith('n')))
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

else缺少該語句,因此apply不知道如果條件失敗該怎么辦。通過else xif條件后添加,它將起作用。

apply(lambda x:x[0:-1] + x[-1].upper() if(x.startswith('abc') & x.endswith('n')) else x)


查看完整回答
反對 回復 2022-01-05
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

這將大寫最后一個字符(before n)并將其余字符小寫:


s = 'abcdirtybitn'


print(s[:-2].lower() + s[-2:].capitalize() if s.startswith('abc') and s.endswith('n') else s)

輸出:


abcdirtybiTn

如果您希望最后一個字符n大寫:


print(s[:-1].lower() + s[-1:].capitalize() if s.startswith('abc') and s.endswith('n') else s)  # abcdirtybitN

編輯:


如果您不想操作/小寫所有其他內容:


s = 'abcDirtyBitn'


print(s[:-1] + s[-1:].capitalize() if s.startswith('abc') and s.endswith('n') else s)

輸出:


abcDirtyBitN

和:


s = 'abcDirtyBitn'


print(s[:-2] + s[-2:].capitalize() if s.startswith('abc') and s.endswith('n') else s)

輸出:


abcDirtyBiTn


查看完整回答
反對 回復 2022-01-05
?
胡子哥哥

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

我認為這可能是一種有效的解決方案:


In [47]: l

Out[47]: ['abcdfn', 'abc', 'abcn', 'Acv', 'Abc']


In [48]: df = pd.DataFrame(l)


In [49]: df

Out[49]:

        0

0  abcdfn

1     abc

2    abcn

3     Acv

4     Abc


In [50]: mask = df[0].str.startswith('abc') & df[0].str.endswith('n')


In [51]: df.loc[mask, 0] = df[mask][0].apply(lambda x : x[0:-1] + x[-1].upper())


In [52]: df

Out[52]:

        0

0  abcdfN

1     abc

2    abcN

3     Acv

4     Abc


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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