Я выполняю запрос Кассандры, чтобы получить набор результатов (именованная строка)
row = session.execute("SELECT distinct spacecraft_name FROM sensor.spacecraft_journey_catalog limit 10")
, который дает мне результаты, подобные приведенным ниже, типа "ResultSet"
Row(spacecraft_name='sts-9')
Row(spacecraft_name='datastax8')
Row(spacecraft_name='datastax3')
Row(spacecraft_name='soyuz8')
Row(spacecraft_name='datastax32')
Row(spacecraft_name='soyuz18')
Row(spacecraft_name='datastax16')
Row(spacecraft_name='sts-51-g')
Row(spacecraft_name='datastax47')
Row(spacecraft_name='sts-49')
Row(spacecraft_name='soyuztma-09m')
Row(spacecraft_name='sts-1')
Row(spacecraft_name='soyuztm-30')
Row(spacecraft_name='datastax39')
Row(spacecraft_name='sts-73')
Row(spacecraft_name='voskhod2')
Row(spacecraft_name='sts-59')
Row(spacecraft_name='soyuztm-33')
Row(spacecraft_name='datastax34')
Row(spacecraft_name='shenzhou10')
Row(spacecraft_name='soyuz27')
Row(spacecraft_name='sts-91')
Row(spacecraft_name='soyuz34')
Row(spacecraft_name='datastax14')
Row(spacecraft_name='sts-61-C')
Row(spacecraft_name='soyuz15')
Row(spacecraft_name='sts-74')
Row(spacecraft_name='soyuzt-8')
Я могу также запустите python список операций над ним, как
row[3:6]
, что дает мне
[Row(spacecraft_name='soyuz8'),
Row(spacecraft_name='datastax32'),
Row(spacecraft_name='soyuz18')]
Теперь у меня есть step_size list = [1,3,5]
Я хочу сгруппировать имена космических кораблей на основе итерации step_size по списку step_size
например, для первой итерации я хочу список типа lst = ['sts-9', 'datastax8', 'datastax3', 'soyuz8', ...]
для второй итерации, мне нужен список типа lst = ['sts-9, datastax8, datastax3', 'soyuz8, datastax32, soyuz18', 'datastax16, sts-51-g, datastax47', ...]
и для последней итерации мне нужен список вроде lst = ['sts-9, datastax8, datastax3, soyuz8, datastax32', 'soyuz18', 'datastax16, sts-51-g, datastax47, sts-49', ...]
Как мне этого добиться?
Я нашел решение, но я не могу не знаю, возможно ли это, если количество данных увеличивается
for name_step in name_steps_list:
start, end = 0, name_step
while end <= len(row.current_rows):
print (start, end)
name_groups = row[start:end]
names = ",".join([name_group.spacecraft_name for name_group in name_groups])
print("---------", names)
start, end = end, end+name_step
print("=============")