我有以下3 Python列表:Python的替换列表中的元素在2所列出,在子的指数在第三列表
cl_ambient = ['BRy', 'WilmB', 'Hgan', 'FoVx', 'Afree', 'FoVx_d', 'Afree_d']
temp_farh = ['grey', 'DarkOrange', 'r', 'black', 'black', 'black', 'black']
manual_calib = ['white', 'white', 'white', 'blue', 'yellow', 'green', 'darkgreen']
所有3只列出将始终具有相同的长度。
开始与列表cl_ambient
:
我需要找到元素的索引中cl_ambient
这是另一个元素的子字符串。在这种情况下,这些元素的索引在索引3,5(Fovx,Fovx_d)和4,6(Afree,Afree_d)。
现在,一旦这些指标被发现,我需要同时在其他2列出了使用这些指标进行更换:
我需要从其他2所列出更换更高的索引元素(temp_farh
和manual_calib
)与来自manual_calib
列表的较低索引元素 。所以,如果我们手动做到这一点,替代品应该是:
temp_farh[5] = temp_farh[3]
temp_farh[6] = temp_farh[4]
manual_calib[5] = temp_farh[3]
manual_calib[6] = temp_farh[4]
我需要以编程方式使这些替代品。由于列表可能会很长,我无法手动执行此操作。
所需的输出:
输出应该是:
cl_ambient = ['BRy', 'WilmB', 'Hgan', 'FoVx', 'Afree', 'FoVx_d', 'Afree_d']
temp_farh = ['grey', 'DarkOrange', 'r', 'black', 'black', 'blue', 'yellow']
manual_calib = ['white', 'white', 'white', 'blue', 'yellow', 'blue', 'yellow']
问:
有没有办法从这些3只列出了编程提取这些串元素呢?
附加信息:
- 按照下面的评论,我会补充一点:不会有多于2子存在于
cl_ambient
列表中的场景。例如:FoVx
,FoVx_d
,FoVx_a
将不存在。将只有Fovx_d
或Fovx_a
。 - 子字符串将始终在
cl_ambient
列表中的较长元素之前。
如果'cl_ambient'中有多于2个子字符串会怎么样。例如:'FoVx'' FoVx_d'' FoVx_a'然后会发生什么? – MooingRawr
感谢您的注意。这种情况在'cl_ambient'列表中是不可能的。我会把这个添加到OP,很好的问题。 –
子字符串是否总是在较长的元素之前? –