Python 数据结构,字典?
我希望有人能帮我。我正在使用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