2016-06-08 10 views
0

我期望返回0。是-1簡單地等於false?有一段時間我以爲是因爲0是字符串中的位置(索引?),但是-1也是。雖然我知道只要記住這就是查找操作的工作方式就足夠了,但我想知道是否有更深入的解釋,或者這是我在學習時會繼續遇到的常見問題。爲什麼find函數在python中返回-1時,搜索字符串並找不到匹配?

+2

由於'0'是第一個字符的索引,在兩個不同的情況下返回非常不明智的事情(*在開始* *和** *時根本找不到*)? – jonrsharpe

+1

我從不認爲'-1'是一個位置,實際上,它只是python索引的簡寫。 – Vervious

+0

我認爲這個問題比它最初似乎更好。爲了記錄,0相當於False。 bool(-1)返回True –

回答

0

查找方法的目標是返回索引值,該索引值(對於所有實際目的)將程序員想要視爲正數。在這種情況下,任何負值意味着函數找不到特定的元素。

之所以使用的,只是爲了避免成千上萬TypeError小號

+0

如果您只需要'True'或'False',那麼就使用'in'。 –

0

@jonrsharpe的,我相信您的評論回答我的問題最好的。雖然-1是一個索引,但find函數在成功時始終返回非負索引,否則返回-1。

相關問題