簡體   English   中英

比較Python中2個字符串的最有效方法是什么

[英]What is the most efficient way of comparring 2 strings in Python

我正在尋找比較兩個字符串的最有效方法,但不確定哪個更好: ==in 還是有其他比其他方法更有效的方法呢?

編輯:我正在嘗試檢查是否相等

他們做不同的事情。

==測試是否相等:

"tomato" == "tomato"  # true
"potato" == "tomato"  # false
"mat"    == "tomato"  # false

insubstring的測試中,可以認為是(可能) str.find() != -1更有效的版本str.find() != -1 ):

"tomato" in "tomato"  # true
"potato" in "tomato"  # false
"mat"    in "tomato"  # true  <-- this is different than above

在這兩種情況下,它們都是執行工作的最有效方法。 如果使用它們比較兩個字符串是否實際上相等,則strA == strB當然比(strA in strB) and (strB in strA)

請定義“比較”。

如果您想知道2個字符串是否相等,則==是最簡單的方法。

如果您想知道1個字符串是否包含另一個,in是最簡單的方法。

如果您想知道它們有多少重疊,並考慮缺口,則需要復雜的算法。 一本關於算法的厚書怎么樣? (這類似於比較遺傳序列。我認為有關生物信息學算法的書也將非常有用。無論如何,這種情況對於堆棧溢出來說太復雜了。)

編輯:

為了平等,請堅持使用“ ==”。 它是用Python完成的。

Python中有==用於比較目的,而“ in”中具有較寬的定義(包含比較)。 通常,精確和明確目的的構造是完成目標工作的最優化構造,因為間接構造通常基於簡單和直接構造,這在比較上下文中應使==更好,並且更不易出錯。

暫無
暫無

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

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