• 元素的生于死(python里元素获取与删除)


    今天被个元素烦着了,找了下网上也没啥直接详细的方法

    就总结了下今天找过的方法,分享些简单的方法

    直接放干货

    删除篇

    要删除列表元素的首次出现,只需要list.remove

    >>> a = ['a', 'b', 'c', 'd']

    >>> a.remove('b')

    >>> print a

    ['a', 'c', 'd']

     

    这个操作主要用于,你知道需要删除的元素

     

    另外,还可以这么使用

    >>> a = [10, 20, 30, 40, 20, 30, 40, 20, 70, 20]

    >>> a = [x for x in a if x != 20]

    >>> print a

    [10, 30, 40, 30, 40, 70]

     

    怎么样是不是很方便

     

    同样的还有一个方法

    >>>a = [0, 1, 0, 1, 2, 1, 3, 1, 4, 1]

    >>>while a.count(1) > 0:

    a.remove(1)

    这样就可的到[0, 0, 2, 3, 4]

     

    如果要删除其他所有元素的方法,只保留想要元素,就可以使用filter函数

    >>>a = [1,2,2,3,4,5]

    >>>a = list(filter(lambda x: x!= 2, a))

    这个方法主要适用与知道需要保留的元素这种情况

    当然还有更多的方法:

    del语句删除元素:

    del d[key]:

    不过这样会改变原有的dict,需要复制dict

    def removekey(d, key):

    r = dict(d)

    del r[key]

    return r

    注意:del方法会将constant time改成linear time,主要适用与一些小的dicts

    pop

    >>>lol = {"hello":"gdbye"}

    >>>lol.pop("hello")

    'gdbye'

     

     

    同样的pop也会改变dict,想要保留原件,就必须进行复制

     

     

    获取篇

     

    最简单粗暴的获取方法some_list[-n]

     

    some_list[-n]可以获取列表倒数第n个元素。some_list[-1]获取最后一个元素,some_list[-2]获取倒数第二个,一直到some_list[-len(some_list)],这个给你提供了第一个元素

     

    >>> some_list = [1, 2, 3]

    >>> some_list[-1] = 5 # Set the last element

    >>> some_list[-2] = 3 # Set the second to last element

    >>> some_list

    [1, 3, 5]

     

    不过需要注意的是,若some_list为空,会导致some_list[-1]引发异常

     

    方法有很多,更主要的是看环境,来选择方法

  • 相关阅读:
    蒙特卡洛采样、重要性采样
    伯努利分布和高斯分布下的最大似然估计、交叉熵
    对于分类问题的神经网络最后一层的函数:sigmoid、softmax与损失函数
    android 侧滑菜单
    安卓Animation类与xml制作动画
    LeetCode题解 #3 Longest Substring Without Repeating Characters
    GY89的使用
    使用GY89的BMP180模块获取温度和压强(海拔)
    STM32与PC机串口通讯
    STM32使用无源蜂鸣器演奏歌曲
  • 原文地址:https://www.cnblogs.com/Chaqian/p/13586933.html
Copyright © 2020-2023  润新知