![](/img/trans.png)
[英]How to change words in a list to upper/lower case using range - Python
[英]How do I organize lower and upper case words in Python?
這是我的代碼。
我需要做的就是確保列表的開頭是大寫單詞,其次是小寫單詞。 我環顧四周,但.sort
或.sorted
命令沒有運氣。
string = input("Please type in a string? ")
words = string.strip().split()
for word in words:
print(word)
string = raw_input("Please type in a string? ")
words = string.strip().split()
words.sort()
關於如何將大寫和小寫單詞分成單獨的列:
string = raw_input("Please type in a string? ")
words = string.split()
column1 = []
column2 = []
for word in words:
if word.islower():
column1.append(word)
else
column2.append(word)
如果所有字母均為小寫,則.islower()
函數的計算結果為true。 如果這不適合您的問題的定義大小寫一起工作,期待進入.isupper()和.istitle()方法在這里 。
sorted()
函數應按字母順序對項目進行排序,並考慮到上限。
>>> string = "Don't touch that, Zaphod Beeblebox!"
>>> words = string.split()
>>> print( sorted(words) )
['Beeblebox!', "Don't", 'Zaphod', 'that,', 'touch']
但是,如果出於某種原因, sorted()
忽略了大寫字母,那么您可以通過某種列表理解手動進行操作:
words = sorted([i for i in words if i[0].isupper()]) + sorted([i for i in words if i[0].islower()])
這將創建兩個單獨的列表,第一個使用大寫單詞,第二個不使用大寫單詞,然后分別對它們進行排序並將它們結合在一起以得到相同的結果。
但是最后,您絕對應該只使用sorted()
; 它更加高效和簡潔。
編輯:對不起,我可能錯過了你的問題的解釋; 如果您只想組織大寫字母而不是不按字母順序排序,那么可以這樣做:
>>> string = "ONE TWO one THREE two three FOUR"
>>> words = string.split()
>>> l = []
>>> print [i for i in [i if i[0].isupper() else l.append(i) for i in words] if i!=None]+l
['ONE', 'TWO', 'THREE', 'FOUR', 'one', 'two', 'three']
我找不到比這更有效的方法,所以就去了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.