![](/img/trans.png)
[英]Parsing in Python: what's the most efficient way to suppress/normalize strings?
[英]What is the most efficient way of comparring 2 strings in Python
我正在尋找比較兩個字符串的最有效方法,但不確定哪個更好: ==
或in
。 還是有其他比其他方法更有效的方法呢?
編輯:我正在嘗試檢查是否相等
他們做不同的事情。
==
測試是否相等:
"tomato" == "tomato" # true
"potato" == "tomato" # false
"mat" == "tomato" # false
in
對substring的測試中,可以認為是(可能) 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.