求积问题[体会Python至简之道]
生活随笔
收集整理的這篇文章主要介紹了
求积问题[体会Python至简之道]
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
看到有在問(wèn),我就做一個(gè)類似問(wèn)題的解答
問(wèn)題鏈接
有興趣可以點(diǎn)進(jìn)去看一下
給出第一個(gè)解法:
上面那個(gè)是按照他給出那個(gè)有點(diǎn)問(wèn)題的代碼稍作改寫(xiě)得到的
發(fā)現(xiàn)這個(gè)不斷要乘的,就忍不住要用reduce寫(xiě)一遍
再用reduce寫(xiě)寫(xiě)
from functools import reduce def multi(p):return reduce(lambda x,y: x * y, p) s = input("輸入一系列的數(shù)字\n") n = s.split() n = list(map(int, n)) print(multi(n))再把map也不用,寫(xiě)一遍:
from functools import reduce def multi(p):return reduce(lambda x, y: int(x) * int(y), p) s = input("輸入一系列的數(shù)字\n") n = s.split() print(multi(n))再簡(jiǎn)短一行(Python的至簡(jiǎn)之道)
from functools import reduce def multi(p):return reduce(lambda x, y: int(x) * int(y), p) s = input("輸入一系列的數(shù)字\n") print(multi(s.split()))再來(lái),我們把multi也去掉(這樣可讀性就下降了很多了)
from functools import reduce s = input("輸入一系列的數(shù)字\n") print((lambda p: reduce(lambda x, y: int(x) * int(y), p))(s.split()))這樣算上那個(gè)import函數(shù)就都只有3行了(雖然可能在生成那個(gè)博客的時(shí)候可能被壓縮提高一行)
總結(jié)
以上是生活随笔為你收集整理的求积问题[体会Python至简之道]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [笔记]ndarray切片(python
- 下一篇: Python画散点图(Knn中数据)