2015-05-11 4 views
1

хотел бы знать, какова цель обновить встроенную функцию от python2 на Python 3, ниже приведен кодPython 3 минимум и максимум встроенной функции

# Python 2 
list1 = [123, 'xyz', 'zara', 'abc'] 
list2 = [456, 700, 200] 
print " Minimum of list 1 is : ", min(list1) #answer is 123 
print " Minimum of list 2 is : ", min(list2) #answer is 200 

#python 3 
print ("Minimum of list 1 is : "), min(list1) 

##----- TypeError: unorderable types: str() < int() 

Так, может я знаю, как для решения этой проблемы в Python 3 и целью улучшения встроенной функции. Спасибо в advace за любые советы и предложения. Спасибо

ответ

1

Нет ничего лучше.

min и max всего лишь 123 < "xyz".

В Python2 int всегда меньше str. В Python3 это на самом деле исправлено, теперь они несравнимы (потому что есть на самом деле нет способа сравнить 42 и «собака», которую вы знаете).

В вашем случае я рекомендую использовать filter, чтобы найти минимальное количество значений, которое вы действительно хотите.

+0

Уважаемый Вадим, Спасибо за идею и предложение. –