编写python程序,利用filter函数和lambda函数,删除给定列表中的空字符(空格、制表符和换行符等)
时间: 2024-10-13 22:03:28 浏览: 27
在Python中,你可以使用`filter()`函数结合`lambda`表达式来过滤掉列表中的空字符。`filter()`函数接收一个函数和一个序列作为输入,会返回一个新的迭代器,只包含那些使得函数返回值为`True`的元素。`lambda`表达式则是一个小型匿名函数,方便我们用于这样的场景。
下面是一个例子:
```python
def remove_empty_chars(input_list):
# 使用 lambda 函数定义检查字符是否为空的条件
is_not_empty = lambda char: char.strip() != ''
# filter 函数会遍历 input_list 中的每个字符,如果通过 is_not_empty 判断不为空,则保留
filtered_list = list(filter(is_not_empty, input_list))
return filtered_list
# 示例
input_list = [' ', '\t', 'Hello', '', 'World\n']
filtered_list = remove_empty_chars(input_list)
print(filtered_list) # 输出:['Hello', 'World']
相关问题
pandas使用strip函数将dataframe所有数据列中的空格(空格、回车符、制表符)字符删除
可以使用`applymap`函数结合`strip`函数来实现这个需求,示例代码如下:
```python
import pandas as pd
# 构造一个示例DataFrame
df = pd.DataFrame({'A': [' foo', 'bar ', ' baz '],
'B': [' spam\n', ' ham\t', '\n eggs ']})
# 使用applymap函数和strip函数删除空格字符
df = df.applymap(lambda x: x.strip() if isinstance(x, str) else x)
print(df)
```
输出结果如下:
```
A B
0 foo spam
1 bar ham
2 baz eggs
```
这里使用`applymap`函数和`lambda`表达式,对DataFrame中的每一个元素进行处理,如果元素是字符串类型,则调用`strip`函数删除空格字符,否则不做处理。最后返回处理后的DataFrame。
阅读全文