自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么10.24程序員節(jié),我卻需要加班?

新聞
今天是1024程序猿/媛的節(jié)日,本來聽起來不錯,可是想到明天項目轉(zhuǎn)測,估計又不知道要加班到幾點就覺得心塞….為什么明明是程序員的節(jié)日,自己卻要加班!

 1024程序員節(jié)

 

10.24程序員節(jié)

今天是1024程序猿/媛的節(jié)日,本來聽起來不錯,可是想到明天項目轉(zhuǎn)測,估計又不知道要加班到幾點就覺得心塞….為什么明明是程序員的節(jié)日,自己卻要加班!

是因為我沒有穿格子衫?

[[280072]] 

程序員穿搭標(biāo)配

或是我的發(fā)際線不達標(biāo)?

[[280073]] 

程序員發(fā)際線

歸根結(jié)底,還是自身技術(shù)不過關(guān),頂多算是個搬磚的。

[[280074]] 

專業(yè)搬磚三十年

CTRL+C & CTRL+V

經(jīng)常遇到來面試的人員,問到為什么從上家公司離職,回答的無外乎薪資問題、感覺在公司沒有提升空間、想找個更好的發(fā)展平臺,等等…但大家是否想過,每天CTRL+C & CTRL+V的工作心態(tài)與if else 的編程思路,是公司沒有給你提升的空間,還是自己不想著自我提升呢?

[[280075]] 

細思恐極

一道簡單習(xí)題引發(fā)的思考

今天無意間看到一道python習(xí)題,題目是這樣的:

有一個長度在1-10000之間的數(shù)字列表,它們通過逗號分隔,其中涵蓋了0-1000的重復(fù)數(shù)字,比如1,4,3,5,3,5,4,該列表中有且僅有一個數(shù)字出現(xiàn)了奇數(shù)次,請通過代碼獲得該列表中,那個出現(xiàn)奇數(shù)次的數(shù)字。

常規(guī)解法

打眼一看這道題,感覺很無腦,無非是列表轉(zhuǎn)集合,然后for循環(huán)集合中的數(shù)字,通過count進行計算就OK了么,代碼如下:

  1.  1# -*- coding: utf-8 -*- 
  2.  2# @Author   : 王翔 
  3.  3# @WeChat   : King_Uranus 
  4.  4# @公眾號    : 清風(fēng)Python 
  5.  5# @GitHub   : https://github.com/BreezePython 
  6.  6# @Date     : 2019/10/24 0:01 
  7.  7# @Software : PyCharm 
  8.  8# @version  :Python 3.7.3 
  9.  9# @File     : 常規(guī)解法.py 
  10. 10 
  11. 11def func(): 
  12. 12    case_list = input("請輸入用例列表:").strip().split(','
  13. 13    case_set = set(case_list) 
  14. 14    for num in case_set: 
  15. 15        if case_list.count(num) % 2: 
  16. 16            print("找到符合要求的數(shù)字: {}".format(num)) 
  17. 17            break 
  18. 18    else
  19. 19        print("未找到符合要求的數(shù)字"
  20. 20 
  21. 21if __name__ == '__main__'
  22. 22    func() 

for else確實是python中比較特殊的一個語法結(jié)構(gòu),如果for循環(huán)正常執(zhí)行結(jié)束,則執(zhí)行else內(nèi)的語句。但程序說的很清楚列表中有且僅有一個數(shù)字出現(xiàn)了奇數(shù)次,完全沒有必要畫蛇添足。

強行顯擺解法

大家都知道,如果面試的時候,你能將題目通過多種方式實現(xiàn),那么肯定會得到更高的認可對,然后有了下面的強行裝13解法:

  1.  1# -*- coding: utf-8 -*- 
  2.  2# @Author   : 王翔 
  3.  3# @WeChat   : King_Uranus 
  4.  4# @公眾號    : 清風(fēng)Python 
  5.  5# @GitHub   : https://github.com/BreezePython 
  6.  6# @Date     : 2019/10/24 0:10 
  7.  7# @Software : PyCharm 
  8.  8# @version  :Python 3.7.3 
  9.  9# @File     : 2.groupby函數(shù).py 
  10. 10 
  11. 11from itertools import groupby 
  12. 12 
  13. 13def func(): 
  14. 14    case_list = input("請輸入用例列表:").strip().split(','
  15. 15    list_group = groupby(case_list) 
  16. 16    for k, v in list_group: 
  17. 17        if len(list(v)) % 2: 
  18. 18            print("找到符合要求的數(shù)字: {}".format(k)) 
  19. 19            break 
  20. 20 
  21. 21if __name__ == '__main__'
  22. 22    func() 

itertools的groupby在日常中使用的比較少。groupby聚合函數(shù)與日常使用的sql等聚合方式一致,最終生成key:value的鍵值對,value為迭代對象。

更為簡潔的Counter

python中collections模塊附帶有一個Counter的函數(shù),使用它能讓我們裝13時,顯得沒有上面那么僵硬:

  1.  1# -*- coding: utf-8 -*- 
  2.  2# @Author   : 王翔 
  3.  3# @WeChat   : King_Uranus 
  4.  4# @公眾號    : 清風(fēng)Python 
  5.  5# @GitHub   : https://github.com/BreezePython 
  6.  6# @Date     : 2019/10/24 0:58 
  7.  7# @Software : PyCharm 
  8.  8# @version  :Python 3.7.3 
  9.  9# @File     : 3.Counter函數(shù).py 
  10. 10 
  11. 11from collections import Counter 
  12. 12 
  13. 13def func(): 
  14. 14    case_list = input("請輸入用例列表:").strip().split(','
  15. 15    print(Counter(case_list)) 
  16. 16    for k, v in Counter(case_list): 
  17. 17        if v % 2: 
  18. 18            print("找到符合要求的數(shù)字: {}".format(k)) 
  19. 19            break 
  20. 20 
  21. 21if __name__ == '__main__'
  22. 22    func() 

裝X翻車現(xiàn)場

本來這道題到這里該結(jié)束了,但仔細想想,還有什么方式可以用來統(tǒng)計元素數(shù)量的奇偶性呢?不管是python還是java等其他編程語言,都存在一個異或的操作,是否可以使用它來實現(xiàn)。

1^3^1 = 3

然后想當(dāng)然的,我就寫出了下面的代碼:

  1. 1from functools import reduce 
  2. 3def func(): 
  3. 4    case_list = map(int, input("請輸入用例列表:").strip().split(',')) 
  4. 5    print(reduce(lambda x, y: x ^ y, case_list)) 
  5. 7if __name__ == '__main__'
  6. 8    func() 

看上去沒啥毛病,使用reduce進行逐一的異或比較,最終得到了結(jié)果,可真的是這樣嗎?不妨讓我們來舉個栗子:

1^2 =3 那么 1^2^3是多少?結(jié)果為0!

再寫下去,還是可以使用一些其他的方式實現(xiàn)。說這么多只是想告訴大家,遇到問題,多主動思考,即便想的是錯的,也能從錯誤中收獲知識。

責(zé)任編輯:華軒 來源: 清風(fēng)Python
相關(guān)推薦

2020-06-28 14:36:27

程序員技能開發(fā)者

2015-09-24 09:04:36

程序員

2011-04-19 09:59:47

工資程序員

2018-10-24 17:18:06

程序員技能開發(fā)者

2011-05-25 14:46:16

程序員

2021-05-18 06:51:37

CPU程序員系統(tǒng)

2017-12-15 13:07:35

程序員代碼練習(xí)

2019-10-24 09:29:04

程序員程序員節(jié)女朋友

2015-08-11 09:18:44

程序員最好

2015-09-16 08:43:16

2023-12-26 18:47:32

2012-09-12 15:48:34

程序員節(jié)程序員

2011-08-11 14:52:59

2011-09-18 09:42:08

程序員

2013-10-29 10:24:31

程序員漫畫

2015-06-05 14:15:13

程序員難升職

2014-08-15 11:07:09

程序員

2011-12-20 09:01:25

.NET

2012-09-06 10:30:58

2016-03-15 08:51:12

程序員生活怪異
點贊
收藏

51CTO技術(shù)棧公眾號