python按字母顺序排列_在python中检查字符串是否按字母顺序排列
我把以下代碼放在一起,以檢查字符串/單詞是否按字母順序排列:
def isInAlphabeticalOrder(word):
word1=sorted(word)
word2=[]
for i in word:
word2.append(i)
if word2 == word1:
return True
else:
return False
但我覺得除了將字符串轉(zhuǎn)換成列表之外,還有一種更有效的方法(更少的代碼行).是不是有一個操作數(shù)來按字母順序排序字符串而不將每個字符串轉(zhuǎn)換為列表?任何人都可以提出更有效的方法嗎?
解決方法:
這具有O(n)的優(yōu)點(對字符串進行排序為O(n log n)). Python中的字符(或字符串)如果按字母順序排在前面,則“小于”另一個字符,因此為了查看字符串是否按字母順序排列,我們只需要比較每對相鄰的字符.另外,請注意您使用range(len(word) – 1)而不是range(len(word)),否則您將在循環(huán)的最后一次迭代中超越字符串的邊界.
def isInAlphabeticalOrder(word):
for i in range(len(word) - 1):
if word[i] > word[i + 1]:
return False
return True
標(biāo)簽:python,sorting,string
總結(jié)
以上是生活随笔為你收集整理的python按字母顺序排列_在python中检查字符串是否按字母顺序排列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QCOM 8976 porting SP
- 下一篇: 小女孩与女人的区别