Есть ли способ создать столько же, сколько пользовательский ввод? - PullRequest
0 голосов
/ 03 февраля 2019

Я хотел бы знать, как создать столько же, сколько пользовательский ввод.

Допустим, пользовательский ввод равен 4.

Я хочу создать 4 списка с именем Batch1 Batch2 Batch3 Batch4

для извлечения данных из файла csv с тем же именем Batch1-4.csv

for i in range(1,3):
    list("Batch{0}".format(i))
    print(Batch1)

Я пробовал это, но в результате ошибка Batch1 не определена, потому что я не объявил Batch1 напрямую.

Есть ли обходной путь?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2019

Вы можете использовать понимание списка следующим образом:

>>> main_list = ["batch{0}".format(i) for i in range(4)]
>>> main_list
['batch0', 'batch1', 'batch2', 'batch3']

Если вы хотите, чтобы список списков делал это:

>>> main_list = [["batch{0}".format(i)] for i in range(4)]
>>> main_list
[['batch0'], ['batch1'], ['batch2'], ['batch3']]

При вводе пользователем ваш скрипт может выглядеть так:

n = int(input('Enter a number:'))
main_list = [["batch{0}".format(i)] for i in range(1,n+1)]
0 голосов
/ 03 февраля 2019

Вы можете использовать концепцию вложенного цикла.Создайте list из lists.Нравится:

main_list = list()
for i in range(4):
    temp_list = ["batch{0}".format(i)]
    main_list.append(temp_list)
...