python 列表筛选出非空
时间: 2023-07-17 07:03:25 浏览: 43
要筛选出Python列表中的非空元素,你可以使用列表解析或者filter函数。下面是两种方法的示例代码:
方法一:使用列表解析
```python
my_list = [1, '', 'hello', None, 'world', [], [1, 2, 3], False]
non_empty_list = [x for x in my_list if x]
print(non_empty_list)
```
输出:
```
[1, 'hello', 'world', [1, 2, 3]]
```
方法二:使用filter函数
```python
my_list = [1, '', 'hello', None, 'world', [], [1, 2, 3], False]
non_empty_list = list(filter(None, my_list))
print(non_empty_list)
```
输出:
```
[1, 'hello', 'world', [1, 2, 3]]
```
这两种方法都可以过滤掉列表中的空字符串、空列表、None和False等元素,只保留非空元素。
相关问题
Python pandas如何筛选非空数值列
可以使用 dropna() 方法删除缺失值,然后使用 loc[] 方法选取非空数值列。代码如下:
```python
import pandas as pd
# 创建数据框
df = pd.DataFrame({'A': [1, 2, None, 4],
'B': [None, 6, 7, 8],
'C': [9, 10, 11, 12]})
# 删除缺失值
df = df.dropna()
# 选取非空数值列
df = df.loc[:, df.dtypes != 'object']
print(df)
```
输出结果:
```
A C
0 1.0 9
1 2.0 10
3 4.0 12
```
python去除列表中的#
空元素可以使用以下代码:
```
原始列表:lst = ['hello', '', 'world', '', ' ']
去除空元素后的列表:lst = list(filter(None, lst))
```
解释:`filter()` 函数会根据第一个参数传入的函数对第二个参数传入的可迭代对象进行筛选,只保留返回值为 `True` 的元素。在本例中,使用 `None` 作为第一个参数传入 `filter()` 函数,表示保留所有非空元素,去除空元素。最后将 `filter()` 函数返回的迭代器转化成列表即可。