Я делал функцию, которая возвращает самое длинное строковое значение из списка. Мой код работает, когда есть только одна строка с наибольшим количеством символов. Я попытался напечатать все самые длинные строки, если их было несколько, и я не хочу, чтобы их повторяли. Когда я запускаю это, он возвращает только «привет», в то время как я хочу, чтобы он возвращал «ohman» и «yoloo». Я чувствую, что проблема в строке if item not list:
, но я пробовал все, и она не работает.Самые длинные строки из списка
list = ['hi', 'hello', 'hey','ohman', 'yoloo', 'hello']
def length(lists):
a = 0
answer = ''
for item in lists:
x = len(item)
if x > a:
a = x
answer = item
elif x == a:
if item not in list:
answer = answer + ' ' + item
return answer
print length(list)
Я думаю, что OP хочет, чтобы все строки имели максимальную длину, а не максимальную длину среди всех строк. – DSM
@DSM, ах штопать. Я неправильно понял вопрос. –
Просто добавьте '[s для s в stringlist if len (s) == maxlength]' до конца, и вы золотые –