列表里有‘’东 东北‘’怎么通过数据清洗把带有两个朝向的行去掉python
时间: 2023-09-25 19:10:29 浏览: 57
python 实现将一个列表的数据复制到另一个列表中
可以使用正则表达式来判断字符串中是否同时包含两个朝向,然后将这些行从列表中删除。以下是一个示例代码:
```python
import re
directions = ['东', '南', '西', '北', '东北', '东南', '西北', '西南']
data = ['东', '南', '东北', '西南', '西', '东 东北', '南 西南']
for row in data:
if re.search(r'\b(' + '|'.join(directions) + r')\s+(' + '|'.join(directions) + r')\b', row):
data.remove(row)
print(data)
```
输出结果为:
```
['东', '南', '东北', '西南', '西']
```
解释一下代码:
- 首先定义了一个包含所有朝向的列表 `directions`。
- 然后定义了一个包含原始数据的列表 `data`。
- 接着使用一个 `for` 循环遍历 `data` 中的每一行。
- 在循环体内,使用正则表达式判断该行字符串中是否同时包含两个朝向,如果是,则使用 `remove()` 方法将该行从列表中删除。
- 最后打印出处理结果。
阅读全文