Почему результат 41 == 0041 дает False в python? - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь получить изображения в папке на основе индексов, извлеченных из списка.Формат изображения - фрейм% 04d, тогда как список состоит из натуральных чисел.когда я передал следующее утверждение 41 == 0041, результат был ложным.Какова правильная процедура?

1 Ответ

0 голосов
/ 14 марта 2019

В Python3 даже невозможно иметь целое число с ведущими нулями:

>>> foo = 0041
SyntaxError: invalid token

В Python2, как указал DeepSpace, наличие ведущих нулей относится к восьмеричным литералам:

>>> 0041
33
>>> 0081
SyntaxError: invalid token

Поэтому, если вы сравниваете строки, вы можете легко сделать это с помощью

>>> "41" == "0041".lstrip("0")
True

, что приводит к Истине

...