Я пытаюсь понять, как перебирать список словарей для создания единого списка данных.
Текущий формат данных:
[{'q_rounded': 100, 'title': 'Product Evaluation', 'final_score': 5.0, 'project': <Project: C>},{'q_rounded': 100, 'title': 'Community', 'final_score': 5.0, 'project': <Project: C>},{'q_rounded': 100, 'title': 'Marketing', 'final_score': 5.0, 'project': <Project: C>},{'q_rounded': 0, 'title': 'Product Evaluation', 'project': <Project: D>}]
Я надеюсь, что смогу получить окончательную оценку каждого названия в одном списке.
[project,value,value2,value3]
Я думаю, мне нужно перебрать исходный список, используя что-то вроде
for item in data:
for key,value in item.items():
print(key,value)
но я не уверен, что это правильный подход к этому?
Спасибо
Добавляя каждое значение в список, а затем вставляя заголовок в конце:
score = []
for title in data:
x = [v for k, v in title.items() if k != "project"]
x.insert(0, title["project"])
score.append(x)
# Score saves in a form of
[[< Project: C >, 100, 'Product Evaluation', 5.0], ... ]
Редактировать
Без названия:
x = [v for k, v in title.items() if k not in ["project", "title"]]
>>> x[0]
[< Project: C >, 100, 5.0]
Да, сейчас отредактирую @JacksWastedLife
По какой-то причине я не получаю таких же результатов, как вы, мой все еще показывает title
очень странно. ['<Project: C>', 100, 'Product Evaluation', 5.0, '<Project: C>']
Извините, Фредди, каким-то образом мне удалось скопировать и вставить неправильно :(. Это работает. Спасибо.
Если бы я хотел собрать все баллы для всех названий проекта в одном списке, следовал бы я аналогичному подходу при повторении?
Спасибо, Фредди. Можно ли отказаться от
Product Evaluation
и просто получить значение 5? В итоге [[< Project: C >, 100, 5.0], ...]