8 回答

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,這時大多是從后序遍歷

TA貢獻(xiàn)1775條經(jīng)驗 獲得超8個贊
可以更簡潔一點(diǎn),還有就是循環(huán)內(nèi)的條件記得縮進(jìn)。
sum = 0
for i in num_list:
sum += i

TA貢獻(xiàn)1802條經(jīng)驗 獲得超5個贊
GeauxEric那個不錯,我第一想法是有點(diǎn)裝X的。。。
my_sum = sum(i for i in number_list)

TA貢獻(xiàn)1860條經(jīng)驗 獲得超9個贊
my_sum = reduce(lambda x, y: x+y, num_list)
要解釋嗎?
要變得pythonic也沒什么東西看一下就行了,就是要把python built-in的一些東西吃透,我也正在吃之中。

TA貢獻(xiàn)1816條經(jīng)驗 獲得超4個贊
關(guān)于 pythonic
推薦一在線電子書 《The Little Book of Python Anti-Patterns》
還有一篇 blog 30 Python Language Features and Tricks You May Not Know About

TA貢獻(xiàn)1852條經(jīng)驗 獲得超7個贊
for item in num_list:
sum += item
另外一些函數(shù)如len()等,不要放在循環(huán)中,代碼規(guī)模大了,很耗時間
length = len(xxx)
添加回答
舉報