Некорректно работает поиск элемента в списке
Не могу понять, почему код работает некорректно.
Такой код работает как надо - находит самый большой элемент в списке. Итоговое max_ = 33:
teststring = [1,2,33,4,5,6]
max_ = teststring[0]
for i in teststring:
print(f'Сейчас max_ = {max_}\nСейчас i = {i}\n')
if i > max_:
max_ = i
print(f'i > max_, значит теперь max_ = {max_}\n')
print(f'max_ получился = {max_}')
Такой же код, но работает уже некорректно. Итоговое max_ = 45:
prob = ("15 241 33 1234 45")
teststring = prob.split()
max_ = teststring[0]
for i in teststring:
print(f'Сейчас max_ = {max_}\nСейчас i = {i}\n')
if i > max_:
max_ = i
print(f'i > max_, значит теперь max_ = {max_}\n')
print(f'max_ получился = {max_}')
Ответы (1 шт):
На ваш вопрос уже есть ответ в интернете: https://question-it.com/questions/1875909/tehnika-sravnenija-strok-ispolzuemaja-python Цитата:
При сравнении используется лексикографический порядок: сначала сравниваются первые два элемента, и если они различаются, это определяет результат сравнения; если они равны, сравниваются следующие два элемента и так далее, пока не будет исчерпана любая последовательность.
Также:
Лексикографическое упорядочение строк использует номер кодовой точки Unicode для упорядочения отдельных символов.