python - 在 python 中,当我不知道不需要的数据将在哪里弹出或特定字符串是什么时,从数据列表中删除不需要的项目?
问题描述
这是我编写的输入,但结构与我正在使用的数据相同。我需要删除“一些我不想要的东西”,但我不知道它将出现在数据中的哪些位置。我还需要将剩余的数据放入 7 个项目的子列表中。数据从 PDF 的文本布局中逐个字符提取并放入“输入”列表。我想做的是查看列表中的第一项,检查它是否是小于 3 位的整数。如果为 True,则将该项目和接下来的 6 个放入子列表中。如果为 False,我希望它忽略该项目并检查下一个项目。我希望它持续执行此操作,直到它用完要检查的数据并将其放入子列表中。
输入:
['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '4', '3.00', '43.00 NC', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3','43.00 NC', 'some stuff I dont want', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC']
输出应如下所示: 输出:
[['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '4', '3.00', '43.00 NC'], ['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC'], ['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC']]
我尝试使用 for 循环和 while 循环,但我似乎无法获得正确的语法来仅将我想要的数据放入子列表而忽略我不想要的数据。有没有办法做到这一点,也许我错过了?
解决方案
这样的事情可能会让你开始:
data = ['1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '4', '3.00', '43.00 NC', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3','43.00 NC', 'some stuff I dont want', '1','1','2', '11" Some Words symbols and numbers mixed 3-4-2#', '3.00', '3', '43.00 NC']
all_sublists = []
i = 0
while i < len(data):
try:
if int(data[i]) < 100:
all_sublists.append(data[i:i+7])
i += 7
except ValueError:
i += 1
all_sublists
返回
[['1',
'1',
'2',
'11" Some Words symbols and numbers mixed 3-4-2#',
'4',
'3.00',
'43.00 NC'],
['1',
'1',
'2',
'11" Some Words symbols and numbers mixed 3-4-2#',
'3.00',
'3',
'43.00 NC'],
['1',
'1',
'2',
'11" Some Words symbols and numbers mixed 3-4-2#',
'3.00',
'3',
'43.00 NC']]
推荐阅读
- sqlite - 有没有办法使用 FireDAC 将 Null 值作为参数插入?
- haskell - haskell 中的底部(即_|_)是什么?
- python - 以 root 身份登录时,Python-Sounddevice PortAudio 不显示任何设备
- python-3.x - PJSUA 转移调用在 python37 中不起作用如何在 python27 中起作用
- c++ - 使用boost精神qi处理gor解析bnf语法的多行规则
- visual-studio-code - 在 WSL-2 中运行的 Ubuntu 20.04 LTS 上使用 VSCode 调试 Deno 时出现问题:--inspect-brk 被删除
- c# - 如何在 C# 应用程序中在运行时加载 DLL,调用方法,然后卸载它?
- java - 如何使用 Firebase 发送带有确认码的短信?
- reactjs - React - 如何将 Google Places API 结果动态限制在特定国家/地区
- javascript - 基于Javascript中的节点号将平面列表数组转换为树视图数组