在python中利用try..except來代替if..else的用法
在有些情況下,利用try…except來捕捉異??梢云鸬酱鎖f…else的作用。
比如在判斷一個鏈表是否存在環(huán)的leetcode題目中,初始代碼是這樣的
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool """ if head == None: return False slow = head fast = head.next while(fast and slow!=fast): slow = slow.next if fast.next ==None: return False fast = fast.next.next return fast !=None
在 while循環(huán)內(nèi)部,fast指針每次向前走兩步,這時候我們就要判斷fast的next指針是否為None,不然對fast.next再調(diào)用next指針的時候就會報異常,這個異常出現(xiàn)也反過來說明鏈表不存在環(huán),就可以return False。
所以可以把while代碼放到一個try …except中,一旦出現(xiàn)異常就return。這是一個比較好的思路,在以后寫代碼的時候可以考慮替換某些if…else語句減少不必要的判斷,也使得代碼變的更簡潔。
修改后的代碼
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def hasCycle(self, head): """ :type head: ListNode :rtype: bool """ if head == None: return False slow = head fast = head.next try: while(fast and slow!=fast): slow = slow.next fast = fast.next.next return fast !=None except: return False
以上這篇在python中利用try..except來代替if..else的用法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python數(shù)據(jù)分析之分析千萬級淘寶數(shù)據(jù)
網(wǎng)購已經(jīng)成為人們生活不可或缺的一部分,本次項目基于淘寶app平臺數(shù)據(jù),通過相關(guān)指標(biāo)對用戶行為進行分析,從而探索用戶相關(guān)行為模式。感興趣的可以學(xué)習(xí)一下2022-03-03Python二進制文件讀取并轉(zhuǎn)換為浮點數(shù)詳解
這篇文章主要介紹了Python二進制文件讀取并轉(zhuǎn)換為浮點數(shù)詳解,用python讀取二進制文件,這里主要用到struct包,而這個包里面的方法主要是unpack、pack、calcsize。,需要的朋友可以參考下2019-06-06Python入門之實例方法、類方法和靜態(tài)方法的區(qū)別講解
這篇文章主要介紹了Python入門之實例方法、類方法和靜態(tài)方法的區(qū)別講解,實例方法是在創(chuàng)建了類的實例之后才能被調(diào)用的方法,類方法是在不需要創(chuàng)建類的實例的情況下就可以調(diào)用的方法,最后,靜態(tài)方法是與類和類的實例都沒有綁定關(guān)系的方法,需要的朋友可以參考下2023-10-10python實現(xiàn)應(yīng)用程序在右鍵菜單中添加打開方式功能
這篇文章主要介紹了python實現(xiàn)應(yīng)用程序在右鍵菜單中添加打開方式功能,本文分步驟給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友參考下吧2017-01-01sublime python3 輸入換行不結(jié)束的方法
下面小編就為大家分享一篇sublime python3 輸入換行不結(jié)束的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python實現(xiàn)批量將PPT轉(zhuǎn)換成長圖
這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)批量將PPT轉(zhuǎn)換成長圖,并且圖片名稱與PPT文件名稱相同,保存位置相同,感興趣的小伙伴可以了解下2023-08-08在python中利用最小二乘擬合二次拋物線函數(shù)的方法
今天小編就為大家分享一篇在python中利用最小二乘擬合二次拋物線函數(shù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12使用 Python 合并多個格式一致的 Excel 文件(推薦)
這篇文章主要介紹了使用 Python 合并多個格式一致的 Excel 文件,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12