python - 如何根据python列表中重复元素的索引创建新的python列表
问题描述
我正在使用一个看起来像的 python 列表 -
['', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue2', 'AttrDate', '', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue2', 'AttrDate', '', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue3', 'AttrDate', '', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue4', 'AttrDate']
它是以下元素的补充(保证),“SYSCode”是整个列表中的固定值。
'', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue', 'AttrDate'
我正在寻找一个新列表,其中只有以下元素。由于 'SYSCode' 是整个列表中的固定值,因此我尝试将其用作索引。AttributeValue 保证在 SYSCode Index + 2。我如何在下面检索另一个列表?
['AttributeValue1','AttributeValue2','AttributeValue3','AttributeValue4']
解决方案
您可以通过列表理解来实现它:
ls = ['', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue1', 'AttrDate', '', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue2', 'AttrDate', '', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue3', 'AttrDate', '', 'tenantspace', 'SYSCode', 'CodeName', 'AttributeValue4', 'AttrDate']
res = [ls[i + 2] for i in range(len(ls)) if ls[i] == 'SYSCode']
结果看起来像:
['AttributeValue1', 'AttributeValue2', 'AttributeValue3', 'AttributeValue4']
推荐阅读
- azure - ASP.NET MVC Core Azure Blob Image Resizer
- r - 计算R中数字字符串的可变性指数
- excel - 如何使用 Odoo 10 中的向导生成 Excel 报告,只需单击一下
- tensorflow - 用于车牌识别的预训练 LeNet 模型
- python - OpenCV VideoCapture on Large files looping back to start frame after 4000+ frames
- node.js - React Native 注册表与后端 mongodb 和 node xpress
- javascript - 如何在nodejs的更新查询中将DATE_SUB()作为参数传递
- html - 如何在线条元素之间创建相等的间距
- javascript - 浏览器中的 Rocket Chat 实时 API
- firebase - 通过 Node.js (firebase-admin) 在后台和前台接收 Ionic 移动应用程序的通知