Как я могу итеративно добавлять пронумерованные объекты в список python? - PullRequest
1 голос
/ 16 апреля 2020

У меня есть набор объектов «вопрос», которые я хочу поместить в список. Существует несколько сотен этих объектов, и каждый из них назван в порядке нумерации: question1, question2, et c.

Я могу построить список, набрав их все в:

question_list = [question1, question2, question3, ...
                ... question500]

но, похоже, должен быть простой и легкий способ составить список, что-то вроде:

for i in range(500):
    question_list.append(questioni)

Есть предложения?

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Я пробовал это:

variable1 = "first question"
variable2 = "second question try"

all_values = dir()

output = []
for v in all_values:
  if('variab' in v):
    output.append(eval(v))

print(output)

Функция dir () показывает все строковые имена переменных, если вы хотите только вывод переменных questionI, вы можете использовать метод eval () для получить объект внутри questionI (я предположил, что это строковое значение). Я думаю, что если вы измените оператор if и используете строку 'question', это может сработать.

1 голос
/ 16 апреля 2020

Вы можете получить доступ к своим переменным из метода globals ().

for i in range(500):
   question_list.append(globals()['question{}'.format(i)])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...