如何根据 python 列表中重复元素的索引创建新的 python 列表
How to create a new python list based on index of a recurring element in python List
我正在使用一个 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']
我正在使用一个 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']