Развёрнутое пояснение
Python сравнивает кортежи лексикографически: сначала первые элементы, потом вторые и так далее.
1️⃣Элемент 𝟶: 𝟷 == 𝟷 — равны, идём дальше.
2️⃣Элемент 𝟷: 𝟸 == 𝟸 — равны, идём дальше.
3️⃣У кортежа 𝚊 элементы закончились, а у 𝚋 ещё есть. По правилу: если один кортеж — префикс другого, то более короткий считается меньшим.
4️⃣Поэтому (𝟷, 𝟸) < (𝟷, 𝟸, 𝟶) возвращает True, даже несмотря на то что третий элемент 𝚋 — это 𝟶.
Почему это важно
Это поведение совпадает с сортировкой слов в словаре: «кот» < «кота». Но при сортировке данных (например, версий (𝟷, 𝟸) vs (𝟷, 𝟸, 𝟶)) результат может быть неожиданным, если не учитывать правило «короче = меньше».
Post #4603
813
- ✍ 2
- 👏 1