-1
我想使用條件列表理解返回一個「有效」的開關列表。有效的開關如下: 前兩個字母代表國家,因此[CH]SW002
。這些字母必須與當前設備的前兩個字母匹配。如果設備是筆記本,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
你有兩個這樣的表達式,第二個缺少'else'。 sw'中的sw如果設備[:2]中的測試爲「False」時,會發生什麼情況? –
'print([sw if'nb'in device else sw sw for sw in switch if if device [:2]])'至少要解析。 – melpomene