文字列のリストが2つあります。
list_one = ["c11", "a78", "67b"]
list_two = ["a", "b", "c"]
次の出力を取得するためにlist_one
からの文字列を使用して並べ替える最短の方法は何list_two
ですか?
["a78", "67b", "c11"]
編集1:同様の質問があります別のリストの値に基づいてリストを並べ替えますか?、しかしその質問では、彼はすでに結果の文字列に必要なインデックスのリストを持っていますが、ここでは部分文字列のリストだけを持っています。
編集2:上記のリストの例は完全に代表的なものではない可能性があるため、別のケースを追加します。
list_oneは["1.cde.png", "1.abc.png", "1.bcd.png"]
list_twoは["abc", "bcd", "cde"]
です。出力は次のようになっているはずです[ "1.abc.png", "1.bcd.png", "1.cde.png"]
たとえば、list_oneがlist_twoよりも短い場合でも、次のように機能するはずです。
list_oneは["1.cde.png", "1.abc.png"]
list_twoはです["abc", "bcd", "cde"]
出力は次のようになっています[ "1.abc.png", "1.cde.png"]
key = {next((s for s in list_one if v in s), None): i for i, v in enumerate(list_two)}
print(sorted(list_one, key=key.get))
この出力:
['a78', '67b', 'c11']
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加