Возвращаемое значение из input ():
Метод input () считывает строку из ввода (обычно пользователь), преобразует строку в строку, удаляя завершающий символсимвол новой строки и возвращает его.
Из-за этого у вас есть:
'[1, 2, 3, 5, 7, 9]' # <class 'str'>
Мы можем использовать ast.literal_eval()
здесь, чтобы оценить строку как выражение Python.Он безопасно оценивает узел выражения или строку, содержащую выражение Python.Предоставленная строка или узел могут состоять только из следующих литеральных структур Python: строк, чисел, кортежей, списков, диктов, логических значений и None.
mylist = input()
print (mylist)
print (type(mylist)) # <class 'str'>
import ast
mylist_ = ast.literal_eval(mylist)
print (mylist_)
print (type(mylist_)) # <class 'list'>
вывод:
[1, 2, 3, 5, 7, 9]
<class 'str'>
[1, 2, 3, 5, 7, 9]
<class 'list'>