2013-04-24 2 views
0

Я пишу скрипт на python, который обращается к базе данных результатов из инженерного программного обеспечения. Он состоит из нескольких объектов, каждый из которых состоит из ID, типа, результаты и т.д.Python: эффективно собирать значения из нескольких объектов в список или аналогичные

Все они доступны следующим образом:

object.values[i].ID 
object.values[i].result 
etc. 

Вопрос заключается в том, можно ли извлечь идентификатор и результат и добавьте их в два списка более эффективным способом, чем для прокрутки всего объекта с помощью цикла for.

Является ли это стандартизованным объектом?

+1

Трудно сказать, что было бы лучше для вас. Ты не даешь нам много времени. Что вы уже пробовали, чтобы мы могли помочь вам улучшить? Также добро пожаловать в Stackoverflow, товарищ Швед! (я предполагаю) –

+0

http://stackoverflow.com/questions/1251692/how-to-enumerate-an-objects-properties-in-python –

+0

Привет и спасибо! Я не могу предоставить вам много информации, поскольку структура данных неясна для меня. Я вижу, что dict, состоящий из нескольких записей, один из которых называется «значениями», который является объектом FieldValueArray. Я предполагаю, что это программное обеспечение. В настоящее время я вынужден запустить цикл for, в котором я извлекаю ID, результат и т. Д. И добавляю к спискам. Я хотел бы иметь возможность извлечь список, написав object.values.ID вместо указания object.values ​​[i] .ID, но, возможно, этот объект уникален для этого программного обеспечения, и поэтому вам сложно комментировать. –

ответ

0

Если цель состоит в том, чтобы извлечь как атрибуты в одном списке, вы могли бы использовать список понимание:

l = [[item.ID, item.result] for item in object.values] 

Если вы нуждаетесь в них в виде двух отдельных списков, либо использовать ручную работу цикл, или использовать это на ранее вычисленном результате:

ids, results = zip(*l) 
Смежные вопросы