Как получить доступ к исходным данным из объекта в python. Здесь я использовал группу для группировки данных - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь сгруппировать данные на основе следующих полей данных, которые у меня есть, и когда я не могу получить доступ к исходным данным в полях

Печать отфильтрованных данных дает объект типа "0x10dd1abf0>" ", поэтому мне нужно получить доступ к исходному понятному человеку значению в объектах.

    data_objects = ['*', '*', '*', ......] // This is list of data items
    filterd_data_objects = groupby(
        data_objects, lambda data: (data.x, data.y, data.z) and data.p
    )
    print(filtered_data_objects)
    // This is giving <itertools.groupby object at 0x1066ceb30>, Need to access the original content in the data objects.
    for filterd_data_object, _ in filterd_data_objects:
        x = data_object[0] // this is not working I've tried this to access the original data
        y = data_object[1]
        z = data_object[2]
        p = data_object[3]

1 Ответ

1 голос
/ 04 апреля 2020

Вам нужно обернуть data_object по списку, например

list(data_object)

Вы можете обратиться к этому примеру

from itertools import groupby
data_objects  = [{"a": 1}, {"a": 1}, {"a": 2}]

for dobject, x in groupby( data_objects, lambda data : data["a"]):
    print(dobject,list(x))
...