LeetCode 27. Remove Element——python(easy)

題目來源:

題目分析:

  本題題目較爲簡單,給定一個數組和一個數值val,將數組中數值等於val的數去除。不能申請額外空間,超過新數組長度部分忽略。但是需要注意的是,由於採用了循環了數組,因此不能直接採用數組中的數字的方式來得到新數組,否則會引起下標的混亂,所以本題應該與26題一樣的思路,將超過新數組的部分省略不看就好。

解決代碼:

class Solution:
    def removeElement(self, nums, val):
        """
        :type nums: List[int]
        :type val: int
        :rtype: int
        """
        j=0
        for i in range(len(nums)):
            if(nums[i]!=val):
                nums[j]=nums[i]
                j+=1
        return (j)

關於刪除某個元素的一些方法與差異

1.remove方法:

remove() 函數用於移除列表中某個值的第一個匹配項。刪除單個元素,刪除首個符合條件的元素,按值刪除。注意只會刪除滿足條件的第一個值。使用方法:例list.remove(obj)。該方法沒有返回值但是會移除列表中的某個值的第一個匹配項。

2.pop方法:

pop() 函數用於移除列表中的一個元素(默認最後一個元素),並且返回該元素的值。它可刪除單個或多個元素,按位刪除(根據索引刪除).使用方法:list.pop(obj)。該方法返回從列表中移除的元素對象。

3.del函數:

它是根據索引(元素所在位置)來刪除
舉例說明:
>>> str=[1,2,3,4,5,2,6]
>>> del str[1]
>>> str
[1, 3, 4, 5, 2, 6]
>>> str2=['abc','bcd','dce']
>>> del str2[1]
>>> str2
['abc', 'dce']


除此之外,del還可以刪除指定範圍內的值。
>>> str=[0,1,2,3,4,5,6]
>>> del str[2:4]  #刪除從第2個元素開始,到第4個爲止的元素(但是不包括尾部元素)
>>> str
[0, 1, 4, 5, 6]


del 也可以刪除整個數據對象(列表、集合等)
>>> str=[0,1,2,3,4,5,6]
>>> del str
>>> str         #刪除後,找不到對象


Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    str
NameError: name 'str' is not defined


注意:del是刪除引用(變量)而不是刪除對象(數據),對象由自動垃圾回收機制(GC)刪除。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章