Поддерживайте две переменные: длину самой короткой и длину второй самой короткой строки. Так пусть они будут first
и second
.
first = len(list[0]), second = len(list[0]);
for every other element cur do:
curLen = len(cur);
if (curLen < first):
second = first;
first = curLen;
else
if (curLen < second && curLen > first):
second = cur;
Я предполагаю, что вы хотите, чтобы вторая самая короткая строка имела длину, отличную от самой короткой. Если вы не хотите этого, удалите && curLen > first
.
Вы можете сохранить еще две переменные для фактических строк или просто сохранить их индексы в списке.