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