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

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

Sep 13, 2023 am 11:29 AM
字串計算單字

使用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。如有侵權,請聯絡admin@php.cn刪除
Python的科學計算中如何使用陣列?Python的科學計算中如何使用陣列?Apr 25, 2025 am 12:28 AM

Arraysinpython,尤其是Vianumpy,ArecrucialInsCientificComputingfortheireftheireffertheireffertheirefferthe.1)Heasuedfornumerericalicerationalation,dataAnalysis和Machinelearning.2)Numpy'Simpy'Simpy'simplementIncressionSressirestrionsfasteroperoperoperationspasterationspasterationspasterationspasterationspasterationsthanpythonlists.3)inthanypythonlists.3)andAreseNableAblequick

您如何處理同一系統上的不同Python版本?您如何處理同一系統上的不同Python版本?Apr 25, 2025 am 12:24 AM

你可以通過使用pyenv、venv和Anaconda來管理不同的Python版本。 1)使用pyenv管理多個Python版本:安裝pyenv,設置全局和本地版本。 2)使用venv創建虛擬環境以隔離項目依賴。 3)使用Anaconda管理數據科學項目中的Python版本。 4)保留系統Python用於系統級任務。通過這些工具和策略,你可以有效地管理不同版本的Python,確保項目順利運行。

與標準Python陣列相比,使用Numpy數組的一些優點是什麼?與標準Python陣列相比,使用Numpy數組的一些優點是什麼?Apr 25, 2025 am 12:21 AM

numpyarrayshaveseveraladagesoverandastardandpythonarrays:1)基於基於duetoc的iMplation,2)2)他們的aremoremoremorymorymoremorymoremorymoremorymoremoremory,尤其是WithlargedAtasets和3)效率化,效率化,矢量化函數函數函數函數構成和穩定性構成和穩定性的操作,製造

陣列的同質性質如何影響性能?陣列的同質性質如何影響性能?Apr 25, 2025 am 12:13 AM

數組的同質性對性能的影響是雙重的:1)同質性允許編譯器優化內存訪問,提高性能;2)但限制了類型多樣性,可能導致效率低下。總之,選擇合適的數據結構至關重要。

編寫可執行python腳本的最佳實踐是什麼?編寫可執行python腳本的最佳實踐是什麼?Apr 25, 2025 am 12:11 AM

到CraftCraftExecutablePythcripts,lollow TheSebestPractices:1)Addashebangline(#!/usr/usr/bin/envpython3)tomakethescriptexecutable.2)setpermissionswithchmodwithchmod xyour_script.3)

Numpy數組與使用數組模塊創建的數組有何不同?Numpy數組與使用數組模塊創建的數組有何不同?Apr 24, 2025 pm 03:53 PM

numpyArraysareAreBetterFornumericalialoperations andmulti-demensionaldata,而learthearrayModuleSutableforbasic,內存效率段

Numpy數組的使用與使用Python中的數組模塊陣列相比如何?Numpy數組的使用與使用Python中的數組模塊陣列相比如何?Apr 24, 2025 pm 03:49 PM

numpyArraySareAreBetterForHeAvyNumericalComputing,而lelethearRayModulesiutable-usemoblemory-connerage-inderabledsswithSimpleDatateTypes.1)NumpyArsofferVerverVerverVerverVersAtility andPerformanceForlargedForlargedAtatasetSetsAtsAndAtasEndCompleXoper.2)

CTYPES模塊與Python中的數組有何關係?CTYPES模塊與Python中的數組有何關係?Apr 24, 2025 pm 03:45 PM

ctypesallowscreatingingangandmanipulatingc-stylarraysinpython.1)usectypestoInterfacewithClibrariesForperfermance.2)createc-stylec-stylec-stylarraysfornumericalcomputations.3)passarraystocfunctions foreforfunctionsforeffortions.however.however,However,HoweverofiousofmemoryManageManiverage,Pressiveo,Pressivero

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能