LINUX.ORG.RU

Вложеные списки

 , ,


0

1

Помогите, подскажите, как можно программным способом создать и заполнить такую структуру?

   (
            ('Fruits', (
                ('apple', 'Apple'),
                ('peach', 'Peach'),
                ('pear', 'Pear')
            )),
            ('Vegetables', (
                ('cucumber', 'Cucumber'),
                ('potato', 'Potato'),
                ('tomato', 'Tomato'),
            ))
        )



Последнее исправление: gareth (всего исправлений: 1)

>>> structura = ( ('Fruits', ( ('apple', 'Apple'), ('peach', 'Peach'), ('pear', 'Pear') )), ('Vegetables', ( ('cucumber', 'Cucumber'), ('potato', 'Potato'), ('tomato', 'Tomato'), )) )
>>> print(structura)
(('Fruits', (('apple', 'Apple'), ('peach', 'Peach'), ('pear', 'Pear'))), ('Vegetables', (('cucumber', 'Cucumber'), ('potato', 'Potato'), ('tomato', 'Tomato'))))
anonymous
()

ну в ОП посте явные кортежи, но если же это только макет, я бы воспользовался словарями.

ЗЫ если поможет, то у объекта есть __dict__ который как раз хранит ссылки на внутренности класса в виде словаря

Dred ★★★★★
()
Ответ на: комментарий от gareth

Блжад, бери и заполняй. list.append на что?

anonymous
()

А тебе принципиальна разница между list и tuple? Если нет то юзай list. Вот как им можно пользоваться: https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range

Если нужен tuple то сначала создавай list а потом конвертируй в него. Эту задачу можно решить рекурсивной функцией написание которой мы оставим как упражнение для пытливого читателя.

true_admin ★★★★★
()
(((target_groupnmame, (obj.name, obj.name.capitalize())) for obj in OBJS if obj.groupname = target_groupname) for target_groupname in GROUPNAMES)

ТС, предлагаю принять следующий факт — ты скорее решишь свою задачу, чем научишься формулировать, что тебе реально надо.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

Да, может быть и такое, час то был поздний, мозг не очень работал, с утра встал и все решилось,где то так как вы. Спасибо. А как называется Этот способ написания for in?

gareth
() автор топика

Возможно, тебе нужны словари.

sT331h0rs3 ★★★★★
()
Ответ на: комментарий от gareth

этот способ написания называется list comprehension (хотя для круглых скобок может правильней как-то иначе). ты точно знаешь python?

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

Поддержу вышеотписавшихся, используй здесь питоновский dictionary.

irr123
()
Ответ на: комментарий от t184256

Для «круглых скобок» называется «генераторные выражения» ))

Virtuos86 ★★★★★
()

Влажные списки качать бесплатно без смс

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.