簡體   English   中英

用Python分割句子

[英]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 ,因此任何大寫字母都移到最前面,而不會更改大寫或小寫單詞的順序。

如果是家庭作業,則應給它加上“家庭作業”標簽。 無論如何,使用兩個列表的想法還不錯。

  1. 將兩個列表初始化為空列表。
  2. 使用字符串的.split()方法拆分輸入語句以獲取單詞。
  3. 直接在for循環中使用split表達式來處理提取的單詞。
  4. 如果word是字符串變量,則word[0]是其第一個字符。 如果小於或等於'Z' ,則為大寫單詞,應將其附加到所需列表之后。
  5. 使用'\\n'.join(lst)從單詞列表中獲取多行字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM