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

Python列表邊遍歷邊刪除,怎么用才不報越界錯誤呢?

開發(fā) 后端
今天雙十一,昨晚有好多電商行業(yè)的 IT 工程師們挑燈夜戰(zhàn),為這個全民狂歡的購物節(jié)護航。還記得三年前我們公司一個產(chǎn)品上線前一周時,辦公室內(nèi)拉起“跟 Bug 死扛到底”的橫幅,Bug 可以說是程序員的死穴。我每次預(yù)感到代碼有 Bug 時,神色立馬緊張起來。

背景

今天雙十一,昨晚有好多電商行業(yè)的 IT 工程師們挑燈夜戰(zhàn),為這個全民狂歡的購物節(jié)護航。還記得三年前我們公司一個產(chǎn)品上線前一周時,辦公室內(nèi)拉起“跟 Bug 死扛到底”的橫幅,Bug 可以說是程序員的死穴。我每次預(yù)感到代碼有 Bug 時,神色立馬緊張起來。

編程路上,Bug 載道;前車之鑒,后車之師。本文整理了一些我在問答技術(shù)網(wǎng)站上看到的、回答過的有價值的問題。權(quán)當是個人知識庫了!

IDEA 編輯的功能

IDEA 強大的自動代碼補全功能快捷鍵 Tab,代碼標簽輸入完成后,按Tab,生成代碼。

  • div.class.out + Tab
  • 常用的有 fori/sout/psvm+Tab 即可生成循環(huán)
  • System.out、main 方法等 boilerplate 樣板代碼,要輸入 for(User user : users) 只需輸入user.for+Tab
  • 輸入 for(User user : users) 只需輸入user.for+Tab
  • 要輸入Date birthday = user.getBirthday(); 只需輸入user.getBirthday().var+Tab 即可。

Python 中查看某個模塊的用法

Python 命令行輸入后,可以使用 help 方法查看方法的用法,例如:

 

  1. import re 
  2. help(re.compile) 

在控制臺輸出得到該方法的描述信息:

 

Python列表邊遍歷邊刪除,怎么用才不報越界錯誤呢?

Python 不忽略首行

Python 處理 csv 文件時,pandas.read_csv(“data.csv”) 默認會將第一行作為標題行信息,不做處理。怎么讓它從第一行開始處理呢?header=None 可以達到該目的。

  1. df =  pd.read_csv("data.csv", header=None) 

對象晉升到老年代的過程

對象優(yōu)先在Eden分配,且新生代對象晉升到老年代有多種情況

  • Eden 區(qū)滿時,進行 Minor GC,當 Eden 和一個 Survivor 區(qū)中依然存活的對象無法放入到 Survivor 中,則通過分配擔保機制提前轉(zhuǎn)移到老年代中。
  • 若對象體積太大, 新生代無法容納這個對象,-XX:PretenureSizeThreshold 即對象的大小大于此值, 就會繞過新生代, 直接在老年代分配, 此參數(shù)只對 Serial 及 ParNew 兩款收集器有效。
  • 存活期限長的對象直接進入老年代。

Python 邊遍歷邊刪除

邊遍歷邊刪除數(shù)組會導(dǎo)致數(shù)組索引范圍變化,導(dǎo)致程序出錯,這在 Java 中也是需要注意的問題。但是,Python 的數(shù)據(jù)處理方法提供了一個巧妙的處理方法。

 

Python列表邊遍歷邊刪除,怎么用才不報越界錯誤呢?

使用 sorted(list) ,會產(chǎn)生一個新的數(shù)組,所以據(jù)此刪除原來數(shù)組的元素,不會改變下標,不會出錯。即遍歷過程中是用 sorted(list) 返回的新數(shù)組,而刪除是操作原來的數(shù)組,即遍歷用了一份拷貝,修改完原數(shù)據(jù)后得到最終需要的結(jié)果了。

__name__的含義

經(jīng)??吹?Python 會看到 if __name__ == '__main__':這樣的代碼,這段代碼是什么作用呢,去掉這段代碼后,為什么程序不會執(zhí)行呢?

__name__ 是系統(tǒng)內(nèi)置變量,代表所在模塊名字,也即所在文件名。當模塊直接運行時,如 demo_list.py 文件被直接運行,__name__ 的值為 “__main__”,所以 if __name__ == '__main__': 通常是觸發(fā)主流程的。

推導(dǎo)式的過程

推導(dǎo)式的過程:是將整個最后的結(jié)果再存入容器的,而不是一邊遍歷一邊推導(dǎo)的。

會在推導(dǎo)式執(zhí)行完成后,一次性將結(jié)果寫入 tmp_list 變量,而不是執(zhí)行推導(dǎo)式的過程中就直接寫入 tmp_list 變量。

  1. tmp_list = [i for i in num_list if i not in tmp_list] 

這是無效的,tmp_list 并不是預(yù)期推導(dǎo)的值。

解析 ngix 日志按小時統(tǒng)計行數(shù)

給定一個 ngix 日志文件,解析時間列并按時間統(tǒng)計每小時的日志行數(shù)。日志文件格式為:

  1. 192.168.1.1 [22/Oct/2019:23:58:54 +0800] "POST /dasdhj/sadqwda/q.log  
  2. HTTP/1.1" 200 133 0.022 "-" "Apache-HttpClient/4.3.3 (java 1.5)" "-" 

編寫 Shell 解析命令為:

  1. awk '{ print $2}' ngix.log  | awk -F ":" '{a[$2]=a[$2]+1} END {for(i in a) { print "time:",i,"count:",a[i]}}' 

思路:

  • 先進對日志按空格分割,得到第二列的日志記錄時間戳列
  • 再對時間列按冒號分割,得到時間列,并按時間列累加
  • 輸出時間和累加值

input 表單不觸發(fā) onclick 事件

一個簡單的觸發(fā)隱藏一個 h1 標簽的事件,但是沒有執(zhí)行,代碼為:

  1. <h1 id="EleId">請點擊此文本!</h1> 
  2. <input type="button" value="點擊隱藏" οnClick="alert('111');">  

反復(fù)測試,最終確認是 input 的用法錯誤了,使用 button 按鈕元素就可以了:

  1. <button id="clear-button" onclick="clearInput();">點擊隱藏</button> 

線程池關(guān)閉導(dǎo)致 AtomicInteger 計數(shù)不準確問題

AtomicInteger 類是使用 CAS 原則來實現(xiàn)對數(shù)值類型的原子操作的,而且并發(fā)效率比 synchronized 高很多。今天看到一個因為線程池提前關(guān)閉,導(dǎo)致任務(wù)中對 AtomicInteger 計數(shù)操作未執(zhí)行,進而打印的計數(shù)值不準確的問題。

這個問題側(cè)面驗證了原子類的高效,此外,還有一個知識點是關(guān)于 ConcurrentLinkedQueue 類的,判斷隊列是否還有元素,應(yīng)該使用 isEmpty() ,而非 size()。因為是鏈表,size 操作需要遍歷列表統(tǒng)計元素總數(shù);而 isEmpty() 直接判斷 first 是否為 null ,效率比前者高。

ajax 請求 415 問題

SSM 項目中出現(xiàn) ajax 415,出現(xiàn)了請求類型為 json 時后臺 415 的問題,這個主要是提交請求時的文件類型和 SpringMVC 配置的類型不一致導(dǎo)致的:

  • type:json
  • 后臺要指定 medias 包含 json 類型

 

 

責任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2020-12-02 10:20:33

Docker命令Linux

2009-12-18 11:15:17

ADSL寬帶共享上網(wǎng)

2012-05-01 20:26:01

iPhone

2021-10-26 22:28:51

筆記本電池壽命

2021-01-19 09:19:33

RPC調(diào)用過程框架

2016-10-10 12:56:59

銳捷

2025-03-27 23:41:35

豆包搜索AI

2019-06-10 15:58:30

數(shù)據(jù)分析流量采集

2021-03-15 09:57:57

機器人人工智能系統(tǒng)

2018-11-26 12:34:48

2025-06-05 03:00:00

AutoRefineRAGLLM

2018-11-04 08:17:41

2025-05-16 08:37:35

2009-05-12 10:24:16

華為任正非灰色管理

2018-12-04 11:48:45

微信支付病毒勒索

2014-12-01 14:42:28

阿里巴巴流量

2018-01-11 14:50:30

2014-12-03 11:09:16

數(shù)據(jù)安全數(shù)據(jù)泄露移動安全

2025-06-19 09:15:00

自然語言訓(xùn)練模型

2022-06-06 16:39:58

云邊協(xié)同大會分布式云計算邊緣計算
點贊
收藏

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