python List.remove()方法返回空值的问题

问题描述

因工作需要将np.array格式的数据转为list,并删除其中的特定元素,但是执行remove后,总是返回Nonetype,例如:

a = np.array([1, 2, 3 ,4])
b = list(a).remove(1)

预期输出[2, 3, 4]
但是输出结果确实Nonetype

原因

折腾了很久,发现原因很简单,因为remove方法没有返回值,是对列表进行直接处理,所以在将remove执行后的值赋值给b时,b并没有接收到任何的值,所以返回的就是Nonetype。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用列表推导式来删除列表中的,例如: ```python my_list = [1, 2, None, 3, '', 4, False, 5, [], 6] new_list = [x for x in my_list if x] print(new_list) ``` 输出结果为: ``` [1, 2, 3, 4, 5, 6] ``` 其中 `if x` 表示只保留列表中非的元素。 ### 回答2: 在Python中,可以使用列表推导式来删除列表中的。具体步骤如下: 1. 定义一个包含的列表。 ```python my_list = [1, 2, None, "", 3, None] ``` 2. 使用列表推导式,遍历原始列表中的元素,并将非添加到一个新的列表中。 ```python new_list = [x for x in my_list if x is not None and x != ""] ``` 3. 最终得到的new_list即为删除了后的列表。 ```python print(new_list) # 输出:[1, 2, 3] ``` 注意,上述代码中,使用条件`x is not None and x != ""`来判断是否为,并将非添加到新列表中。可以根据实际情况进行修改。 另外,如果只想删除,可以使用列表的remove()方法,遍历原列表,找到并删除。 ```python my_list = [1, 2, None, "", 3, None] my_list = [x for x in my_list if x is not None] # 移除None my_list = [x for x in my_list if x != ""] # 移除字符串 print(my_list) # 输出:[1, 2, 3] ``` 上述代码中,分别使用列表推导式删除了None字符串。最终得到的my_list即为删除后的列表。 ### 回答3: 在Python中,可以使用列表推导式来删除列表中的。具体操作如下: ```python # 定义一个包含的列表 my_list = [10, None, "hello", "", 25.5, [], True, "world", " ", 0] # 使用列表推导式删除 new_list = [value for value in my_list if value is not None and value != ""] print(new_list) ``` 运行输出为: ```python [10, "hello", 25.5, [], True, "world", " ", 0] ``` 在上述代码中,我们使用列表推导式对my_list进行筛选和过滤。具体逻辑如下: 1. `value for value in my_list`:遍历列表my_list中的每个。 2. `value is not None and value != ""`:判断当前是否为包括None和字符串""),如果不是则将其保留在新列表中。 3. 最终得到的new_list即为删除了的列表。 需要注意的是,在上述代码中我们保留了列表`[]`和格字符`" "`。如果需要进一步删除这些,可根据具体需求在条件判断中添加相应的条件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值