"有効な"リストを返すために条件付きリストの理解を使用します。有効なスイッチは次のとおりです。 最初の2文字は国を表します。したがって、[CH]SW002
です。これらの文字は、現在のデバイスの最初の2文字と一致する必要があります。デバイスがノートブックの場合、US[NB]001
、国の接頭辞は無視できます。Pythonの条件式が無効です
- CHPC001:CHSW002
- USPC001:USSW001、USSW002
- USNB001:USSW001、USSW002、CHSW002
以下
装置は、したがって、それらに割り当てられた次のスイッチを有していなければなりません以下は私のコードですが、構文エラーが発生します:
switches = ['USSW001', 'USSW002', 'CHSW002']
devices = ['CHPC001', 'USPC001', 'USNB001']
for device in devices:
print([sw if 'nb' in device else sw if device[:2] in sw for sw in switches])
私は理解していませんでしたが、どのような関係が最終結果になるはずですか?彼らはどのように見えるでしょうか? – RomanPerekhrest
あなたは2つのそのような式を持っていて、2番目の式には 'else'がありません。 'sw:device [:2] in sw'のテストが' False'の場合にどうなるでしょうか? –
'print(デバイス内のnbを 'nb'とした場合sw:デバイス[:2]]の場合はスイッチ内のsw)'が少なくとも解析します。 – melpomene