偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

新聞
今天是1024程序猿/媛的節(jié)日,本來(lái)聽(tīng)起來(lái)不錯(cuò),可是想到明天項(xiàng)目轉(zhuǎn)測(cè),估計(jì)又不知道要加班到幾點(diǎn)就覺(jué)得心塞….為什么明明是程序員的節(jié)日,自己卻要加班!

 1024程序員節(jié)

 

10.24程序員節(jié)

今天是1024程序猿/媛的節(jié)日,本來(lái)聽(tīng)起來(lái)不錯(cuò),可是想到明天項(xiàng)目轉(zhuǎn)測(cè),估計(jì)又不知道要加班到幾點(diǎn)就覺(jué)得心塞….為什么明明是程序員的節(jié)日,自己卻要加班!

是因?yàn)槲覜](méi)有穿格子衫?

[[280072]] 

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

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

[[280073]] 

程序員發(fā)際線

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

[[280074]] 

專(zhuān)業(yè)搬磚三十年

CTRL+C & CTRL+V

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

[[280075]] 

細(xì)思恐極

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

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

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

常規(guī)解法

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

  1.  1# -*- coding: utf-8 -*- 
  2.  2# @Author   : 王翔 
  3.  3# @WeChat   : King_Uranus 
  4.  4# @公眾號(hào)    : 清風(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("請(qǐng)輸入用例列表:").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確實(shí)是python中比較特殊的一個(gè)語(yǔ)法結(jié)構(gòu),如果for循環(huán)正常執(zhí)行結(jié)束,則執(zhí)行else內(nèi)的語(yǔ)句。但程序說(shuō)的很清楚列表中有且僅有一個(gè)數(shù)字出現(xiàn)了奇數(shù)次,完全沒(méi)有必要畫(huà)蛇添足。

強(qiáng)行顯擺解法

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

  1.  1# -*- coding: utf-8 -*- 
  2.  2# @Author   : 王翔 
  3.  3# @WeChat   : King_Uranus 
  4.  4# @公眾號(hào)    : 清風(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("請(qǐng)輸入用例列表:").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的鍵值對(duì),value為迭代對(duì)象。

更為簡(jiǎn)潔的Counter

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

  1.  1# -*- coding: utf-8 -*- 
  2.  2# @Author   : 王翔 
  3.  3# @WeChat   : King_Uranus 
  4.  4# @公眾號(hào)    : 清風(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("請(qǐng)輸入用例列表:").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翻車(chē)現(xiàn)場(chǎng)

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

1^3^1 = 3

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

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

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

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

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

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

2020-06-28 14:36:27

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

2015-09-24 09:04:36

程序員

2011-04-19 09:59:47

工資程序員

2018-10-24 17:18:06

程序員技能開(kāi)發(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

2025-05-12 08:28:23

2023-12-26 18:47:32

2012-09-12 15:48:34

程序員節(jié)程序員

2013-10-29 10:24:31

程序員漫畫(huà)

2011-08-11 14:52:59

2011-09-18 09:42:08

程序員

2015-06-05 14:15:13

程序員難升職

2014-08-15 11:07:09

程序員

2012-09-06 10:30:58

2011-12-20 09:01:25

.NET
點(diǎn)贊
收藏

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