Python 数据结构,字典?

2 投票
6 回答
2066 浏览
提问于 2025-04-15 17:48

我希望有人能帮我。我正在使用Python,想要做到以下几点。

我有一组对象(比如形状),还有一系列命令来对这些对象进行操作。这些命令的格式是一个命令字符串,后面跟着可变数量的参数,这些参数可以是字符串或整数。

例如,形状“矩形”可能有以下命令:
'ChangeColor' 'green'(改变颜色为绿色)
'FillStyle' 'hatch'(填充样式为斜线)
'Dimensions' 10 15(尺寸为10和15)
等等……

那么,存储这些信息的最佳数据结构是什么呢?我需要能够根据对象的“形状”轻松地从数据结构中检索这些命令。使用字典会是正确的选择吗?我之前从未使用过字典。

谢谢!

6 个回答

1

我建议你使用一个对象类,把所有的值和命令都放在这个对象里,这样你就可以方便地传来传去了。(这和recursive说的差不多。)

不过,你也可以用一个字典,字典里用对象的名字作为键,然后把可能的命令放在一个列表里作为值。

2

dicts(字典)适合用在你不太在乎顺序,但想要为不同的名称存储值的时候。

lists(列表)是有顺序的一系列对象,通常都是同一种类型,而且它们的位置没有特别的含义。

tuples(元组)也是有顺序的一系列对象,可以是不同类型的,每个位置都有特定的含义。

3

你可能更适合自己创建一个类:

class Shape(object):
    def __init__(self):
        self.shape = "rectangle"
        self.color = "green"
        self.fillstyle = "hatch"
        # etc

    def ChangeColor(self, color):
        self.color = color

    # etc

撰写回答