Развёрнутое пояснение
1️⃣В словаре 𝚍 два ключа: 𝟷 и 𝟸; соответствующие значения — "𝚘𝚗𝚎" и "𝚝𝚠𝚘".
2️⃣Выражение 𝟷 𝚒𝚗 𝚍 проверяет наличие 𝟷 среди ключей словаря; такой ключ есть, поэтому результат — True.
3️⃣Выражение "𝚘𝚗𝚎" 𝚒𝚗 𝚍 тоже смотрит только на ключи: строка "𝚘𝚗𝚎" не является ключом, это значение; поэтому результат — False.
4️⃣Функция 𝚙𝚛𝚒𝚗𝚝(𝟷 𝚒𝚗 𝚍, "𝚘𝚗𝚎" 𝚒𝚗 𝚍) выводит True False.
Почему это важно
Путаница между проверкой по ключам и по значениям часто ломает валидацию и условия: чтобы искать по значениям, нужно явно использовать "𝚘𝚗𝚎" 𝚒𝚗 𝚍.𝚟𝚊𝚕𝚞𝚎𝚜() или итерироваться по парам, а не надеяться на поведение по умолчанию.
Post #4572
851