第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為何說這段代碼很難看,怎么能變得pythonic?

為何說這段代碼很難看,怎么能變得pythonic?

慕尼黑5688855 2019-02-21 11:09:33
sum = 0 for i in range(len(num_list)): sum += num_list[i] 看到有大神吐槽這段代碼,形容看到它如同見到它有種看見douban變成***站的悲哀。 學(xué)了python一段時間,確實(shí)能體會到Python的簡潔清晰,但很多時候,總有種自己在用另一套語法來寫C++,寫Shell的感覺。 比如:交換數(shù)據(jù) a, b = b, a,下意識的會想著用一個temp變量來操作, a = temp; a = b; b = temp; 請大家建議如何能寫的更pythonic,有沒有什么進(jìn)階的路線,博客,書籍推薦。 謝謝GeauxEric提醒
查看完整描述

8 回答

?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗 獲得超11個贊

my_sum = sum(num_list)

查看完整回答
反對 回復(fù) 2019-03-01
?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗 獲得超9個贊

pythonic的代碼應(yīng)該簡潔易懂,方便查看。一段代碼一眼看過去,沒有多余的累贅,沒有難看的縮進(jìn)。并不是多用些python內(nèi)置函數(shù)就pythonic了。Lowky的回答很不錯。這里不必要用range,這是冗余的。另外如果用range請用xrange,它返回一個迭代器,比range要好
遍歷list,不要采用這種方法。如果不需要索引值就用Lowky的,需要的用enumrate,除非你想遍歷中修改這個list,這時大多是從后序遍歷

查看完整回答
反對 回復(fù) 2019-03-01
?
www說

TA貢獻(xiàn)1775條經(jīng)驗 獲得超8個贊

可以更簡潔一點(diǎn),還有就是循環(huán)內(nèi)的條件記得縮進(jìn)。

sum = 0
for i in num_list:
    sum += i
查看完整回答
反對 回復(fù) 2019-03-01
?
12345678_0001

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊

GeauxEric那個不錯,我第一想法是有點(diǎn)裝X的。。。

my_sum = sum(i for i in number_list)
查看完整回答
反對 回復(fù) 2019-03-01
?
慕碼人2483693

TA貢獻(xiàn)1860條經(jīng)驗 獲得超9個贊

my_sum = reduce(lambda x, y: x+y, num_list)

要解釋嗎?

要變得pythonic也沒什么東西看一下就行了,就是要把python built-in的一些東西吃透,我也正在吃之中。

查看完整回答
反對 回復(fù) 2019-03-01
?
繁華開滿天機(jī)

TA貢獻(xiàn)1816條經(jīng)驗 獲得超4個贊

查看完整回答
反對 回復(fù) 2019-03-01
?
慕姐4208626

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊

for item in num_list:
    sum += item

另外一些函數(shù)如len()等,不要放在循環(huán)中,代碼規(guī)模大了,很耗時間
length = len(xxx)
查看完整回答
反對 回復(fù) 2019-03-01
  • 8 回答
  • 0 關(guān)注
  • 637 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號