您好,登錄后才能下訂單哦!
python中經常寫出來的冗余代碼有哪些 ,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
有一些同學是從其它語言遷移到Python的,所以寫Python代碼的時候,還帶有其它語言的一些語法特征。于是寫出來的Python代碼包含了大量沒什么用的無效代碼。我們今天來看看常見的無效代碼有哪些。
列表和字典是重災區。有一些人在Python里面創建一個元素已經確定的列表,卻這樣寫代碼:
a = list() a.append('x') a.append('y') a.append('z')
但實際上,你可以直接一行代碼寫為:
a = ['x', 'y', 'z']
初始化一個元素已經確定的字典,有人也喜歡這樣寫代碼:
a = dict() a['name'] = 'kingname' a['age'] = 100 a['address'] = 'xx'
但實際上,一行代碼就可以搞定了:
a = {'name': 'kingname', 'age': 100, 'address': 'xx'}
還有些人字典的Key存入列表,是這樣寫代碼的:
key_list = [] for key in target_dict.keys(): key_list.append(key)
但實際上,一行代碼就搞定了:
key_list = list(target_dict)
有些人在寫條件判斷的時候,是這樣寫的:
if a == False: print('xx') if a == []: print('xx') if a == '': print('xx') if a == None: print('xx') if a == 0: print('xx')
但實際上,這些判斷全部可以合并成一個:
if not a: print('xx')
同理,對于判斷真、非空、非零的代碼:
if a == True if len(a) > 0 if a != 0 if a != None
全部都可以合并成:
if a: print('xxx')
有些人在寫條件判斷的分支檢測的時候,是這樣寫的:
for ele in target_list: if ele > 0: print('列表中至少有一個數字大于0') return True else: continue
這里的else: continue實際上沒有任何作用,完全可以刪除:
for ele in target_list: if ele > 0: print('列表中至少有一個數字大于0') return True
列表推導式式我們經常使用的一種語法糖。但Python里面,其實還有一個生成器推到式,它寫為(x for x in yyy),這里使用小括號。所以對于下面這幾行代碼:
a = ['1', '2', '3'] sum_result = sum([int(x) for x in a])
知道生成器推到式的同學可能會這樣寫:
a = ['1', '2', '3'] sum_result = sum((int(x) for x in a))
但實際上,如果一個生成器推到式作為另一個函數的唯一參數,那么可以省略內層括號:
a = ['1', '2', '3'] sum_result = sum(int(x) for x in a)
關于python中經常寫出來的冗余代碼有哪些 問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。