1. 程式人生 > >python list刪除元素是要注意的坑點

python list刪除元素是要注意的坑點

我們直接先給出輸出與預期不同的程式碼

In[28]: a = [1,2,3,4,5,6]
In[29]: for i in a:
   ...:     a.remove(i)
   ...:     
In[30]: a
Out[30]: [2, 4, 6]

在上述for迴圈中,假設我們刪除了index=2的值,原本index=3及之後的值會向前補位,所以在迴圈中就跳過了原index=3的變數
同理,使用list.pop()函式刪除指定元素的時候,也會出現上述情況,如:

In[33]: a = [1,2,3,4,5,6]
In[34]: for index, value in enumerate(a):
   ...
: a.pop(index) ...: In[35]: a Out[35]: [2, 4, 6]

如果我們想迴圈刪除列表中的元素,較簡單的可用方法有:用一個臨時列表儲存待刪除的元素,在for迴圈臨時列表來刪除老列表中的元素;或者直接用剩餘元素列表覆蓋原列表

相關推薦

python list刪除元素注意

我們直接先給出輸出與預期不同的程式碼 In[28]: a = [1,2,3,4,5,6] In[29]: for i in a: ...: a.remove(i) ...: In[30]: a Out[30]: [2, 4,

python list刪除元素的幾種方式

假設我們有一個列表 a=[1,2,3,4,1,2,4,5] 指定元素進行刪除 remove(x) remove() 函式用於移除列表中 某個值的第一個匹配項,如果有多個則刪除第一個 , 注意list中不存在x,執行會報錯 無法指定位置進行刪除 >>&

Python List 刪除元素

1. 使用del刪除指定元素 li = [1, 2, 3, 4] del li[3] print(li) # Output [1, 2, 3] 2. 使用list方法pop刪除元素 li =

PythonList刪除元素的方式

0、廢話不多說,在List物件中,元素的刪除,也是很重要的知識點,pop方法會返回刪除掉的元素,這是一個很好的點子 1、程式碼走起 def printListWithChinese(resource): print str(resource).decode('string_esc

2-5 Pythonlist刪除元素

Paul同學剛來幾天又要轉走了,那麼我們怎麼把Paul 從現有的list中刪除呢? 如果Paul同學排在最後一個,我們可以用list的pop()方法刪除: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] >>> L.pop

Python程式設計中一定注意的那些“”(一)

1  逗號不是運算子,只是個普通的分隔符 >>> x = 3, 5 >>> x(3, 5) >>> x == 3, 5(False, 5) >>> 1, 2, 3(1, 2, 3) >>&g

hdu 4409 Family Name List(LCA&有)

ret cond courier write space ref script auto amp Family Name List Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768

python列表刪除元素整理

循環 記錄 move nbsp mov 刪除元素 bold 中一 刪除 先看一個例子: test1 = [‘a‘,‘b‘,‘c‘,‘‘,‘‘]for i in test1: if i == ‘‘: test1.remove(i) #刪除空元素 pr

在學習Python的過程中需要注意

  一、學習流程 1.學習過程中(看視訊、直播課程、書籍) 跟上思路 一旦發現不懂的概念, 先記錄在筆記中, 事後再查 搜尋引擎(不要在意百度,谷歌哪個逼格高;自己注意篩選就好) 查不到,或者查到不理解;來群裡吧(516107834)

記錄一個自己放的小錯誤,python程式設計的,注意同名變數!!!

import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data import numpy as np import matplotlib.pyplot as plt tf.set_random_s

JAVA--遍歷List刪除元素報ConcurrentModificationException

直接上程式碼 ArrayList<Integer> list = new ArrayList<>(); { list.add(1); list.add(3); list.add(2); list

【JAVA】while 迴圈注意

while 迴圈平時不怎麼用,用起來一些細節就忘了,故有此文 我們先來看個程式 public class TestWhile { public static void main(String[] args) { int j=0,m=7;

jq注意

查詢下標 JQ物件查詢指定下標的方法為:eq() DOM物件的為:get() eg:今天寫一個導航條繫結滑鼠進入事件時播放指定音樂,因為JQ中沒有封裝audio 和 video de 的方法,所以play的方法要繫結在DOM元素上 :

list 刪除元素

### List 刪除元素  我們以一個字串為元素型別的 list 為例,進行列表元素的刪除: >>> l = ['a', 'b']

Python 字典刪除元素clear、pop、popitem

同其它python內建資料型別一樣,字典dict也是有一些實用的操作方法。這裡我們要說的是字典刪除方法:clear()、pop()和popitem(),這三種方法的作用不同,操作方法及返回值都不相同。接下來就來檢視下這些字典特定方法的具體用法是什麼。 字典clear()方法 clear()方法是用來清除字

hibernate的validation.xml檔案注意

一、檔案命名 編寫的validation.xml檔案針對的是單個的action 命名格式為:action的名字-validation.xml eg:LoginAction-validation.xml 編寫的validation.xml檔案式針對某個ac

list 刪除元素 以一個list中的元素(或陣列中的元素)為下標

以一個list中的元素為下標,或者用一個數組中的元素為下標,來刪除某個list中對應下標的元素。 package cn.iponkan.test; import static org.junit.Assert.*; import java.text.MessageF

c++ list刪除元素例子

直接上程式碼  vs2013 #include "stdafx.h" #include <iostream> #include <queue> #include <list> using namespace std; int _t

foreach遍歷list刪除元素一定會報錯?

foreach遍歷list集合刪除某些元素一定會報錯嗎,來,先上一段程式碼:       1)報錯啦  List list = new ArrayList(); list.add("1"); list.add("2"); li

整合LeanCloud使用者反饋SDK注意

1.在 Xcode 中選擇 UniversalFramework Target,裝置選為 iOS Device,在 Product 選單中選擇 Archive 即可開始編譯。編譯完成之後會在當前 build 目錄下。 注意,不能直接點Run按鈕,直接點Run按