Как упорядочить элементы в таблице PrettyTable (python)
Есть три списка одинаковой длины, которые генерируются динамически (всегда имеют разную длину в зависимости от действий пользователя). Например, сгенерировались три вот таких списка (первый список определяет количество строк в выводимой таблице):
line_number_dict = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
X_dict = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
maximum_dict = [2.27, 'Ошибка', 2.21, 2.06, 'Ошибка', 2.61, 1.94, 'Ошибка', 'Ошибка', 1.88]
Как вывести в PrettyTable данные так, чтобы каждый элемент списка находился в одной строке с элементом другого списка? Учитывая, что в следующий раз списки могут потом иметь другую длину. Например, вывод должен иметь вот такой вид:
| № | Значение Х | Искомое значение |
|---|---|---|
| 1 | 1 | 2.27 |
| 2 | 3 | 'Ошибка' |
| 3 | 5 | 2.21 |
| 4 | 7 | 2.06 |
| 5 | 9 | 'Ошибка' |
| 6 | 11 | 2.61 |
| 7 | 13 | 1.94 |
| 8 | 15 | 'Ошибка' |
| 9 | 17 | 'Ошибка' |
| 10 | 19 | 1.88 |
Ответы (1 шт):
Автор решения: ioprst
→ Ссылка
from prettytable import PrettyTable
line_number_dict = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
X_dict = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
maximum_dict = [2.27, 'Ошибка', 2.21, 2.06, 'Ошибка', 2.61, 1.94, 'Ошибка', 'Ошибка', 1.88]
table = PrettyTable()
for colname, col in (('№', line_number_dict),
('Значение X', X_dict),
('Искомое значение', maximum_dict)):
table.add_column(colname, col)
print(table.get_string())