を2つのリストのリスト要素を交換してください。リストcl_ambient
とPythonは、私は、次の3つのPythonのリストを持っている第三のリストに部分文字列のインデックスで、
スタート:
私は別の要素の部分文字列である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つのリストからプログラムこれらのサブストリングの要素を抽出する方法はありますか?
追加情報:以下のコメントを1として
- 、私はこれを追加します: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に追加します。大きな質問です。 –
部分文字列は常に長い要素の前にありますか? –