Python: индексирование левой и правой сторон задания

Я пытаюсь сделать что-то простое, как следующее

for k in range(0,2)

outsetk = Reader(FileName='/dir/outset-'+str(k)+'.q')

генерировать следующее

outset0 = Reader(FileName='/dir/outset-'+str(0)+'.q')
outset1 = Reader(FileName='/dir/outset-'+str(1)+'.q')
outset2 = Reader(FileName='/dir/outset-'+str(2)+'.q')

где Reader - предопределенная функция с одним входом. Я знаю, что правильная сторона задания верна, но я не уверен, как сделать левую сторону.

1 ответ

Решение

Попробуйте использовать словарь для хранения результатов. Что-то вроде этого:

outsets = {}

for k in range(0, 3):
    outsets[k] = Reader(FileName='/dir/outset-' + str(k) + '.q')

Тогда вы получите доступ outset0 вот так:

outsets[0] # equivalent to your outset0

Вы также можете сделать что-то вроде этого, чтобы получить те же имена, упомянутые в вашем примере:

outsets = {}
name = 'outset{}'

for k in range(0, 3):
    outsets[name.format(k)] = Reader(FileName='/dir/outset-' + str(k) + '.q')

Чтобы получить доступ outset0 вы бы использовали outsets['outset0']

Если вы хотите использовать список, попробуйте что-то вроде этого:

outsets = []

for k in range(0, 3):
     outsets.append(Reader(FileName='/dir/outset-' + str(k) + '.q')

Тогда вы получите доступ outset0 так же:

 outsets[0] # equivalent to your outset0
Другие вопросы по тегам