python中遍歷列表的兩種方式的異同

2021-09-12 07:44:57 字數 923 閱讀 7277

python中遍歷列表的方式有兩種,一種是for num in nums:,另一種是for i in range(len(nums)):。正常情況下使用沒什麼區別,但是如果在遍歷過程中涉及到移除陣列元素的操作時,發現了區別。如下:

nums =[0

,1,2

,2,3

,0,4

,2]print

('這是直接遍歷列表,nums初始為:'

, nums)

for num in nums:

print

(num)

if num==2:

nums.remove(2)

print

(nums)

nums =[0

,1,2

,2,3

,0,4

,2]print

('這是通過索引便遍歷列表,nums初始為:'

可以看出:二者遍歷的過程是一致的,感覺for num in nums:這種方式也是按索引的遞增順序去查詢對應元素的。但不同之處在於,for num in nums:的方式不會產生異常,索引越界的話會直接退出迴圈。

為什麼會有這種區別呢?我也搞不明白,希望有大神可以講解一下 ?

vue vue中引入echarts的兩種方式

1.安裝echarts依賴 npm install echarts s 2.建立圖表 a 全域性引入 main.js頁面 import echarts from echarts vue.prototype.echarts echartshello.vue頁面 b 按需引入 上面全域性引入會將所有的e...

Redhat nis client兩種接入方式

redhat nis client兩種接入方式 在redhat上nis client有兩種方式接入nis伺服器 etc nsswitch.conf和system config authentication 通過 etc nsswitch.conf的方式使用者只能通過yppasswd進行修改密碼且無法...

python threading 兩種建立方式

作用 建立在thread模組之上,可以更容易地管理多個執行執行緒。通過使用執行緒,程式可以在同乙個程序空間併發地執行多個操作。threading模組建立在thread的底層特性基礎上,可以更容易地完成執行緒處理。1 呼叫函式 要使用thread,最簡單的方法就是用乙個目標函式例項化乙個thread物...