Код вызовет 𝙺𝚎𝚢𝙴𝚛𝚛𝚘𝚛.
При обращении к элементу словаря 𝚜𝚌𝚘𝚛𝚎𝚜['𝙰', '𝙱'] 𝙿𝚢𝚝𝚑𝚘𝚗 интерпретирует '𝙰', '𝙱' как кортеж ('𝙰', '𝙱'), а не как два отдельных ключа.
Согласно документации 𝙿𝚢𝚝𝚑𝚘𝚗, запятая создает кортеж:
𝚎𝚡𝚙𝚛𝚎𝚜𝚜𝚒𝚘𝚗_𝚕𝚒𝚜𝚝 ::= 𝚎𝚡𝚙𝚛𝚎𝚜𝚜𝚒𝚘𝚗 ("," 𝚎𝚡𝚙𝚛𝚎𝚜𝚜𝚒𝚘𝚗)∗ [","]
Таким образом, выражение 𝚜𝚌𝚘𝚛𝚎𝚜['𝙰', '𝙱'] эквивалентно 𝚜𝚌𝚘𝚛𝚎𝚜[('𝙰', '𝙱')].
В словаре 𝚜𝚌𝚘𝚛𝚎𝚜 есть только ключи '𝙰' и '𝙱', но нет ключа ('𝙰', '𝙱'). При попытке обращения к несуществующему ключу словарь генерирует исключение 𝙺𝚎𝚢𝙴𝚛𝚛𝚘𝚛.
Для получения нескольких значений из словаря нужно использовать отдельные обращения или методы словаря, например:
− 𝚜𝚌𝚘𝚛𝚎𝚜['𝙰'], 𝚜𝚌𝚘𝚛𝚎𝚜['𝙱']
− [𝚜𝚌𝚘𝚛𝚎𝚜[𝚔] 𝚏𝚘𝚛 𝚔 𝚒𝚗 ('𝙰', '𝙱')]
Post #4365
701
- 👍 6
- ❤ 1
- 👎 1