我有以下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,很好的問題。 –
子字符串是否總是在較長的元素之前? –