Изменения в моем списке, как мне это исправить? - PullRequest
0 голосов
/ 13 июня 2019

Это начало моего кода:

mylist = input()

В качестве ввода у меня есть:

In:   [1, 2, 3, 5, 7, 9]

, но затем они определяют:

mylist = '[1, 2, 3, 5, 7, 9]'

Как сделатьЯ удалю ''?

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Возвращаемое значение из 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'>
0 голосов
/ 13 июня 2019

, чтобы получить список, либо выполните

 mylist = list(map(int,input().strip().split()))

ex будет входить: 1 2 3 4 5, а вывод будет [1,2,3,4,5]

в вашем случае сделайте mylist=eval(mylist)

...