Как упростить создание огромных структур данных в Python - PullRequest
4 голосов
/ 01 марта 2010

Я пишу некоторые, и мне нужно передать сложную структуру данных в какую-то функцию.

Структура данных выглядит следующим образом:

{ 'animals': [ 'cows', 'moose', { 'properties': [ 9, 26 ] } ]
  'fruits': {
    'land': [ 'strawberries', 'other berries' ],
    'space': [ 'apples', 'cherries' ]
  }
}

Эта структура выглядит довольно уродливо для меня. Можете ли вы придумать, как упростить написание таких массивных структур данных?

PS. Я создал эту структуру, но моя реальная структура очень похожа на то.

Ответы [ 2 ]

5 голосов
/ 01 марта 2010

Другие языки решат эту проблему с объектами или структурами - так что-то вроде:

class whatever:
    animals = AnimalObject()
    fruits = FruitObject()

class AnimalObject:
    animals = ['cows','moose']
    properties = [9,26]

class FruitObject:
    land = ['strawberries', 'other berries']
    space = ['apples', 'cherries']

Конечно, это работает, только если вы заранее знаете, какую форму примут данные. Если нет, то карты / списки - ваш единственный выбор; -)

2 голосов
/ 01 марта 2010
  1. Используйте объекты. Вы работаете с базовыми типами, такими как строки и словари, в то время как объекты более мощные.
  2. Использовать аргументы функции. Вы можете передать ключи первого уровня в своем словаре в качестве аргументов вашей функции:
def yourfunction(animals, fruits)
    # do things with fruits and animals
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...