@Gera01
Unity, С# и больше ничего.

Как сложить все массивы класса?

Есть класс:
@dataclass
class Element:
    name: list
    leg: list
    itog: list
    material: list
    primechanie: list
    vrezki: list
    objLegVrez: list
    gib: list
    count: list


Есть массив этих элементов elements. Как сложить все эти массивы всех элементов в один элемент?
Например есть
@dataclass
class Element:
    name: ["1s", "2H",  "2ea"]
 (И так далее)

и
@dataclass
class Element:
    name: ["4ds", "3gss",  "3r5"]
 (И так далее)

А надо чтобы на выходе получилось
name = ["4ds", "3gss", "3r5", "1s", "2H", "2ea"] и так со всеми массивами класса. Как такое можно сделать?
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
@o5a
Я так понял что-то типа такого, для неизвестного количества элементов
from dataclasses import fields

def combine(elements):
    data = {field.name: sum([getattr(elem,field.name) for elem in elements],[]) for field in fields(elements[0])}
    return Element(**data)

a = Element(...)
b = Element(...)
...

c = combine([a, b])
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы