如何简化在Python中创建庞大的数据结构

时间:2010-02-28 21:40:06

标签: python data-structures

我正在写一些,我需要将复杂的数据结构传递给某个函数。

数据结构如下:

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

这个结构对我来说看起来很难看。您能想到如何简化编写如此庞大的数据结构的方法吗?

PS。我编造了这个结构,但我的真实结构非常相似。

2 个答案:

答案 0 :(得分:5)

其他语言可以用对象或结构解决这个问题 - 所以,比如:

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

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

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

当然,这只有在您提前知道数据将采用何种形式时才有效。如果不这样做,那么地图/列表是您唯一的选择; - )

答案 1 :(得分:2)

  1. 使用对象。您正在处理字符串和词典等基本类型,而对象则更强大。
  2. 使用函数参数。您可以将字典中的第一级键作为函数的参数传递:
  3. def yourfunction(animals, fruits)
        # do things with fruits and animals
        pass