python 列表筛选出非空
时间: 2023-07-17 22:07:57 浏览: 41
要筛选出一个 Python 列表中的非空元素,你可以使用列表推导式。以下是一个例子:
```python
my_list = [1, '', 'hello', None, 42, 'world']
non_empty_list = [item for item in my_list if item]
print(non_empty_list)
```
输出结果为:`[1, 'hello', 42, 'world']`。
在这个例子中,我们使用了列表推导式来筛选出 `my_list` 中的非空元素。`if item` 部分用来判断元素是否为真值(即非空)。只有在判断条件为真时,元素才会被添加到 `non_empty_list` 中。
相关问题
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()` 函数返回的迭代器转化成列表即可。