[英]Splitting Sentences in Python
請輸入字符串:Python和Perl是編程語言
Python
Perl
and
are
programming
languages
我希望輸入被拆分,但大寫單詞排在最前面。 我正在考慮使用兩個列表:一個帶有標題大小寫單詞,另一個帶有較低的單詞。 我正在嘗試使用if語句將單詞放置在某個列表中。 請提出一些建議!
謝謝
您的示例輸出錯誤,因為它看起來像這樣:
Perl
Python
and
are
languages
programming
首先按大寫字母排序將使Perl
高於Python
因為e
優先。 此外,因為大寫優先,所以您只需
print "\n".join(sorted(a.split()))
獲得理想的結果。
編輯:重新閱讀問題后,我想出了此修復程序/輸出:
print "\n".join(sorted(a.split(), key=lambda x: x >= 'a'))
輸出:
Python
Perl
and
are
programming
languages
說明: Python中的排序功能是穩定的 ,這意味着如果元素具有相同的比較鍵,則它們之間的順序將相對保留。 鍵函數將為大於或等於'a'
任何值(這是任何以小寫字母開頭的字符串)分配True
值,否則為False
。 False
小於True
,因此任何大寫字母都移到最前面,而不會更改大寫或小寫單詞的順序。
如果是家庭作業,則應給它加上“家庭作業”標簽。 無論如何,使用兩個列表的想法還不錯。
.split()
方法拆分輸入語句以獲取單詞。 for
循環中使用split表達式來處理提取的單詞。 word
是字符串變量,則word[0]
是其第一個字符。 如果小於或等於'Z'
,則為大寫單詞,應將其附加到所需列表之后。 '\\n'.join(lst)
從單詞列表中獲取多行字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.