在python中利用try..except來(lái)代替if..else的用法
在有些情況下,利用try…except來(lái)捕捉異??梢云鸬酱鎖f…else的作用。
比如在判斷一個(gè)鏈表是否存在環(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指針每次向前走兩步,這時(shí)候我們就要判斷fast的next指針是否為None,不然對(duì)fast.next再調(diào)用next指針的時(shí)候就會(huì)報(bào)異常,這個(gè)異常出現(xiàn)也反過(guò)來(lái)說(shuō)明鏈表不存在環(huán),就可以return False。
所以可以把while代碼放到一個(gè)try …except中,一旦出現(xiàn)異常就return。這是一個(gè)比較好的思路,在以后寫(xiě)代碼的時(shí)候可以考慮替換某些if…else語(yǔ)句減少不必要的判斷,也使得代碼變的更簡(jiǎn)潔。
修改后的代碼
# 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來(lái)代替if..else的用法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python try except else使用詳解
- 淺談對(duì)python中if、elif、else的誤解
- python else語(yǔ)句在循環(huán)中的運(yùn)用詳解
- python中if及if-else如何使用
- python使用for...else跳出雙層嵌套循環(huán)的方法實(shí)例
- Python while循環(huán)使用else語(yǔ)句代碼實(shí)例
- Python循環(huán)中else,break和continue的用法實(shí)例詳解
- python for和else語(yǔ)句趣談
- Python列表解析配合if else的方法
- 詳解Python if-elif-else知識(shí)點(diǎn)
- Python中else的三種使用場(chǎng)景
相關(guān)文章
Python數(shù)據(jù)分析之分析千萬(wàn)級(jí)淘寶數(shù)據(jù)
網(wǎng)購(gòu)已經(jīng)成為人們生活不可或缺的一部分,本次項(xiàng)目基于淘寶app平臺(tái)數(shù)據(jù),通過(guò)相關(guān)指標(biāo)對(duì)用戶(hù)行為進(jìn)行分析,從而探索用戶(hù)相關(guān)行為模式。感興趣的可以學(xué)習(xí)一下2022-03-03Python二進(jìn)制文件讀取并轉(zhuǎn)換為浮點(diǎn)數(shù)詳解
這篇文章主要介紹了Python二進(jìn)制文件讀取并轉(zhuǎn)換為浮點(diǎn)數(shù)詳解,用python讀取二進(jìn)制文件,這里主要用到struct包,而這個(gè)包里面的方法主要是unpack、pack、calcsize。,需要的朋友可以參考下2019-06-06Python+Turtle實(shí)現(xiàn)繪制可愛(ài)的小倉(cāng)鼠
肉嘟嘟的小動(dòng)物很是可愛(ài),這篇文章主要為大家介紹一下如何運(yùn)用Python中的turtle庫(kù)控制函數(shù)繪制小倉(cāng)鼠,文中的實(shí)現(xiàn)方法講解詳細(xì),感興趣的可以嘗試一下2022-10-10Python入門(mén)之實(shí)例方法、類(lèi)方法和靜態(tài)方法的區(qū)別講解
這篇文章主要介紹了Python入門(mén)之實(shí)例方法、類(lèi)方法和靜態(tài)方法的區(qū)別講解,實(shí)例方法是在創(chuàng)建了類(lèi)的實(shí)例之后才能被調(diào)用的方法,類(lèi)方法是在不需要?jiǎng)?chuàng)建類(lèi)的實(shí)例的情況下就可以調(diào)用的方法,最后,靜態(tài)方法是與類(lèi)和類(lèi)的實(shí)例都沒(méi)有綁定關(guān)系的方法,需要的朋友可以參考下2023-10-10python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能
這篇文章主要介紹了python實(shí)現(xiàn)應(yīng)用程序在右鍵菜單中添加打開(kāi)方式功能,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-01-01sublime python3 輸入換行不結(jié)束的方法
下面小編就為大家分享一篇sublime python3 輸入換行不結(jié)束的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04Python實(shí)現(xiàn)批量將PPT轉(zhuǎn)換成長(zhǎng)圖
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量將PPT轉(zhuǎn)換成長(zhǎng)圖,并且圖片名稱(chēng)與PPT文件名稱(chēng)相同,保存位置相同,感興趣的小伙伴可以了解下2023-08-08pandas如何計(jì)算同比環(huán)比增長(zhǎng)
這篇文章主要介紹了pandas如何計(jì)算同比環(huán)比增長(zhǎng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05在python中利用最小二乘擬合二次拋物線(xiàn)函數(shù)的方法
今天小編就為大家分享一篇在python中利用最小二乘擬合二次拋物線(xiàn)函數(shù)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12使用 Python 合并多個(gè)格式一致的 Excel 文件(推薦)
這篇文章主要介紹了使用 Python 合并多個(gè)格式一致的 Excel 文件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12