偶然間在實驗樓上看到一篇文章【震驚小伙伴的單行代碼—Python篇】养泡,覺得還蠻有趣的,所以就想看看茉唉,但是我自己的電腦沒有python環(huán)境黄锤,所以就直接利用實驗樓上的在線python環(huán)境對文章里的10個單行python代碼進(jìn)行了實踐。
原文這里就不粘貼了碉哑,直接點上面那個鏈接進(jìn)去看就行了挚币,或者去搜索也肯定有。
圖一:
如上圖:
- 第一條是:讓列表中的每個元素都乘以2,代碼如下:
print map(lambda x: x * 2, range(1,11))
- 第二條是:求列表中的所有元素之和,代碼如下:
print sum(range(1,1001))
- 第三條是:判斷一個字符串中是否存在某些詞,代碼如下:
wordlist = ["scala", "akka", "play framework", "sbt", "typesafe"]
tweet = "This is an example tweet talking about scala and sbt."
print map(lambda x: x in tweet.split(),wordlist)
但是發(fā)現(xiàn)有問題扣典,因為sbt
明明也在里面啊妆毕,但是卻顯示Flase
,后來一檢查贮尖,發(fā)現(xiàn)后面緊跟著多了一個·
,所以第一次的時候判斷沒有笛粘,第二次就有了。
圖二:
這一條呢是:讀取文件,代碼如下:
print open("ten_one_liners.py").readlines()
開始的時候沒有創(chuàng)建ten_one_liners.py
,因此報錯湿硝,后來一想薪前,真是笨死了,所以創(chuàng)建了文件关斜,并簡單寫了幾句話示括。
圖三:
上圖中的
- 第一條是:祝你生日快樂!代碼如下:
print map(lambda x: "Happy Birthday to " + ("you" if x != 2 else "dear Name"),range(4))
但是痢畜,是不是哪里有問題岸庀ァ?要是第三個dear name
可以自己輸入名字就更好了丁稀,是可以實現(xiàn)的吼拥,但是我沒做;
- 第二條是:過濾列表中的數(shù)值,代碼如下:
print reduce(lambda(a,b),c: (a+[c],b) if c > 60 else (a,b + [c]), [49, 58, 76, 82, 88, 90],([],[]))
圖四:
這個就是打印最小或者最大的數(shù)字了线衫,其實也沒啥好震驚的感覺,代碼如下:
print min([14, 35, -7, 46, 98])
print max([14, 35, -7, 46, 98])
圖五:
這一條就是:并行處理了,代碼如下:
import multiprocessing
import math
print list(multiprocessing.Pool(processes=4).map(math.exp,range(1,11)))
圖六:
這一條就是:“Sieve of Eratosthenes”算法凿可,Python里沒有Sieve of Eratosthenes操作符,代碼如下:
n = 50 # We want to find prime numbers between 2 and 50
print sorted(set(range(2,n+1)).difference(set((p * f) for p in range(2,int(n**0.5) + 2) for f in range(2,(n/p)+1))))
第一次呢,可以看到出錯了桶雀,錯誤是unexpectde indent
矿酵,啥原因呢,就是“錯誤的使用縮進(jìn)量”矗积,因為在python中縮進(jìn)增加只用在以:結(jié)束的語句之后全肮,而之后必須恢復(fù)到之前的縮進(jìn)格式。
嗯棘捣,和原文對比辜腺,還有一條沒有做出來,是“獲取XML web service數(shù)據(jù)并分析”,因為要吃飯了,加上做了2遍也是報錯评疗,所以先放著测砂,有時間再弄。這里先把代碼放出來吧百匆,有做出來的也可以私信給我哦,畢竟我也是python小白啊砌些,學(xué)習(xí)學(xué)習(xí)~
from xml.dom.minidom import parse, parseString
import urllib2
# 注意,我將它轉(zhuǎn)換成XML格式化并打印出來
print parse(urllib2.urlopen("http://search.twitter.com/search.atom?&q=python")).toprettyxml(encoding="utf-8")
還蠻有趣的加匈,可以試試存璃!如果沒有開發(fā)環(huán)境的話,推薦上實驗樓利用他們的在線開發(fā)環(huán)境試試也好雕拼,記得前段時間的那個微信掃描纵东,就直接給出哪些人拉黑了你么?我就是在實驗樓上玩的啥寇。