-1
私は、二つのリストを持っていると言う:条件に基づいてリストの要素を圧縮する方法は?
a = ['A', 'B', 'C']
と
b = ['B/X', 'Y/C', 'A/Z']
にはどうすれば効率的に取得するために一緒にリストを圧縮します:
[('A', 'A/Z'), ('B', 'B/X'), ('C', 'Y/C')]
はどうもありがとうございました!
私は、二つのリストを持っていると言う:条件に基づいてリストの要素を圧縮する方法は?
a = ['A', 'B', 'C']
と
b = ['B/X', 'Y/C', 'A/Z']
にはどうすれば効率的に取得するために一緒にリストを圧縮します:
[('A', 'A/Z'), ('B', 'B/X'), ('C', 'Y/C')]
はどうもありがとうございました!
あなたは、単に最初の辞書を構築することができます。
lookup = { ki : k for k in b for ki in k.split('/') }
し、リストの内包表記を使用します。
[(k,lookup.get(k)) for k in a]
b
のどの要素がサブ要素を持っていた場合、これはタプルの2番目の要素としてNone
を追加します一致した
ありがとうございます! – AnnaR
「b」に要素「A/B」と「B/C」がある場合はどうなりますか?あなたはどの要素を選んでいますか? –
間違いなくありません。だから、私はそれらの事件を書かなかったのです。 – AnnaR