2012-02-16 4 views
1

Можно создать дубликат:
How does Python compare string and int?питона сравнения типов данных

Может ли один объяснить below.how является «а» по сравнению с 1 Внутренне является и 1 ASCII Допустимы сравнивается или как это , т. е. происходит некоторая конверсия с «а», а затем сравнивается или как это делается. Пожалуйста, объясните

>>> 'a' > 1 
True 
>>> 'a' > 'b' 
False 
+3

похоже на дублирование: http://stackoverflow.com/questions/3270680/how-does-python-compare-string-and-int – WeaselFox

ответ

1

Различные типы сравниваются lexigraphically, и «ИНТ» является < «строка».

В python 3.x это изменяет это, поэтому разные типы не сопоставимы.

Bool < Int:

In [15]: True > 5 
Out[15]: False 

Список> Int:

In [14]: [1, 2] > 5 
Out[14]: True 

Кортеж> Список:

In [16]: (1, 2) > [1, 2] 
Out[16]: True 

И для примера: Str> Int:

In [17]: '1' > 5 
Out[17]: True 

И так далее и т. Д.

0

из руководства:

CPython деталь реализации: Объекты различных типов, кроме числа упорядочены по именам их типа; объекты того же типа , которые не поддерживают надлежащее сравнение, упорядочиваются по их адресу.

так «ул» больше, то «ИНТ»

Смежные вопросы