首頁 >後端開發 >Python教學 >使用Python計算字串中單字的長度

使用Python計算字串中單字的長度

PHPz
PHPz轉載
2023-09-13 11:29:031255瀏覽

使用Python計算字串中單字的長度

使用 Python 找出給定輸入字串中各個單字的長度是必須解決的問題。我們想要計算文字輸入中每個單字的字元數,並以結構化樣式(如列表)顯示結果。該任務需要分解輸入字串並分隔每個單字。然後根據其中的字元數計算每個單字的長度。基本目標是創建一個可以有效接收輸入、確定字長並及時輸出結果的函數或流程。在文字處理、自然語言處理和資料分析等多種應用中,字長統計可以提供有洞察力的資訊並實現額外的分析,解決這個問題至關重要。

使用的方法

  • 使用迴圈和 split() 函數

  • 將map()函數與len和split()一起使用

  • 使用 re 模組中的 re.split() 方法

  • 使用字典儲存單字長度

使用迴圈和 split() 函數

一種基本且簡單的 Python 文字處理和分析技術是使用循環和 split() 函數來獲取單字長度的方法。透過使用這種技術將輸入字串分解為其組成單詞,我們可以透過重複檢查單字清單來確定每個單字的長度。在此方法中, split() 函數至關重要,因為它本質上是根據空格字元對輸入文字進行標記,從而將單字彼此分隔開。結果的單字清單作為我們其餘單字長度計算的基礎。該技術是任何文字分析工具集的重要組成部分,因為它在理解和從文字輸入中提取重要資訊方面有效且簡單。

演算法

  • 定義一個函數 findWordLengths,它將輸入字串作為參數。

  • 使用 split() 函數將輸入字串拆分為單字,使用空格作為分隔符,從而將它們分開。將結果儲存在稱為單字的清單中。

  • 初始化一個空列表「wordLengths」來儲存單字的長度。

  • 對於單字清單中的每個單字,執行以下操作:

  • a.使用 len() 函數計算目前單字的長度。

    b.將目前單字的長度附加到「wordLengths」清單中。

  • 傳回「wordLengths」清單。

範例

def findWordLengths(input_string):
   words = input_string.split()
   wordLengths = []
   for word in words:
      wordLengths.append(len(word))
   return wordLengths


input_string = "Today feels like a productive day"
result = findWordLengths(input_string)
print("The words lengths are as:", result)

輸出

The words lengths are as: [5, 5, 4, 1, 10, 3]

將map()函數與len和split()一起使用

Python 中確定字長的方法將 map() 函數與 len 和 split() 結合,為處理文字資料的問題提供了優雅而有效的答案。這種方法利用了 Python 內建函數的強大功能,將它們組合起來可以快速確定輸入字串中各個單字的長度。 split() 方法使用空格作為分隔符,有效地將輸入字串分成單獨的單詞,是此策略的基礎。結果創建了一個術語列表,作為更多調查的基礎。利用 map() 方法,我們透過對每個單字應用 len() 函數,將此列表更改為包含所有單字長度的可迭代列表。

演算法

  • 定義一個函數 findWordLengths,它將輸入字串作為其參數。該參數將包含我們的輸入字串。

  • 使用 split() 函數將輸入字串拆分為單字,並使用空格作為分隔符號。將結果儲存在稱為單字的清單中。

  • 使用map()函數將len()函數應用於單字清單中的每個單字,因為len()函數主要計算長度。這將產生一個包含單字長度的迭代。

  • 將從map()獲得的iterable轉換為列表以獲取單字的長度。

  • 傳回單字長度清單。

範例

def findWordLengths(input_string):
   words = input_string.split()
   wordLengths = list(map(len, words))
   return wordLengths


input_string = "Hello my name is Rahul"
result = findWordLengths(input_string)
print("The words lengths are as:", result)

輸出

The words lengths are as: [5, 2, 4, 2, 5]

使用 re 模組中的 re.split() 方法

正規表示式是文字修改和模式匹配的有效工具。透過聰明地偵測空白字元作為單字分隔符,re.split() 函數可以作為一種可靠的技術,在這種情況下將短語標記為單字。為了準確地分割單字,正規表示式模式 r's ' 符合一個或多個連續的空白字母。該方法在處理不同的輸入文字格式、允許不同的空白模式並提供準確的字長計算時表現得非常好。它對正規表示式的使用使得即使處理大量輸入資料也變得有效率。此外,缺乏其他函式庫也簡化了實作。

演算法

  • 輸入包含單字的句子。

  • 使用 re.split() 方法和正規表示式 r'\s ' 將句子拆分為單字。

  • 初始化一個空列表來儲存單字長度。

  • 迭代單字清單中的每個單字:

  • a。計算目前單字的長度。

  • b。將單字長度附加到單字長度清單中。

  • 輸出單字長度清單。

示例

import re

def word_lengths(sentence):
   
   words = re.split(r'\s+', sentence)
   
   word_lengths = []
   
   for word in words:
      length = len(word)
      word_lengths.append(length)
   
   return word_lengths

sentence = "This is a sample sentence"
result = word_lengths(sentence)
print(result)

输出

[4, 2, 1, 6, 8]

使用字典存储单词长度

使用字典保存单词长度来确定字符串中单词长度的方法将 Python 内置数据结构的有效性与简单的算法相结合,以提供有效且适应性强的结果。该技术通过使用 len() 函数迭代计算字典中每个单词的长度,为字典中的每个单词生成键值对。给出单词的长度作为匹配值,并将单词设置为键。由于这个清晰简单的过程,字长的收集是精确和有效的。

生成的词典提供每个单词对应的单词长度,捕获文本的广泛视图。为了进一步处理或分析数据,这种格式可以轻松检索字长。

算法

  • 输入包含单词的句子。

  • 使用 split() 方法将句子拆分为单词,这将为我们的输入字符串创建单词列表。

  • 初始化一个空字典来存储单词长度。

  • 迭代单词列表中的每个单词,如下所示:

  • a。计算当前单词的长度。

  • b。向字典中添加一个条目,以单词为键,以单词长度为值。

  • 输出包含单词长度的字典。

示例

def word_lengths(sentence):

   words = sentence.split()
   word_lengths_dict = {}
   
   for word in words:
      length = len(word)
      word_lengths_dict[word] = length
   
   return word_lengths_dict

sentence = "This is how the length of words is calculated"
result = word_lengths(sentence)
print(result)

输出

{'This': 4, 'is': 2, 'how': 3, 'the': 3, 'length': 6, 'of': 2, 'words': 5, 'is': 2, 'calculated': 10}

结论

总而言之,我们研究了四种不同的 Python 方法来计算字符串中的单词长度。对于简单的工作,前两种方法(使用循环和 split() 函数或带有 len 和 split() 的 map() 函数)提供了简单性和有效性。第三个选项利用 re 模块中的 re.split() 方法,展示了正则表达式的强大功能,适合在复杂的文本处理应用程序中使用。最后但并非最不重要的一点是,使用字典来跟踪单词长度提供了一种系统且实用的方法来检索和处理单词数据。每种方法都具有特定的优点,使程序员能够根据特定需求和编码偏好选择最佳选项。

以上是使用Python計算字串中單字的長度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除