В вашем коде нет синтаксических ошибок, но для начала вы должны вызвать функцию со списком-аргументом.
Я добавил несколько строк, помеченных #temp, которые иллюстрируют, что происходит.
Здесь функция просматривает первый элемент, «4444», переходит к команде elif, печатает список list_more и возвращает возвращаемое значение.
#!/usr/bin/python3
"""
study.py
"""
def fun(line):
list_three = []
list_more = []
index = 0
for item in line:
if len(item) == 3:
list_three.append(item)
print("list_three",list_three) #temp
index += 1
return item
elif len(item) > 3:
list_more.append(item)
print("list_more",list_more) #temp
index += 1
return "this string has more than three char"
else:
index += 1
return None
print(fun([ "4444", "333", "55555"])) #temp