擅长:python、mysql、java
<p>为什么是字典?为什么不提供一个命名元组的列表,或者一个来自您定义的类的对象的集合(列表、字典)(每个列都有属性)?在</p>
<p>怎么了:</p>
<pre><code>class myRowObj(object):
def __init__(self, mac, port, dpid):
self.mac = mac
self.port = port
self.dpid = dpid
myTable = list()
for each in some_inputs:
myTable.append(myRowObj(*each.split())
</code></pre>
<p>。。。或者类似的事情?在</p>
<p>(注:myTable可以是列表、字典或任何适合您需要的东西。显然,如果它是一个字典,那么你必须问你将使用什么样的键来访问这些“行”)。在</p>
<p>这种方法的优点是,“行对象”(您可以用某种对应用程序域更合理的方式命名)可以实现您选择的任何语义。这些对象可以验证和转换实例化时提供的任何值,计算任何派生值,您还可以定义对象的字符串和代码表示(例如,当您的一行用作字符串或在某些类型的开发和调试或序列化中使用时的隐式转换(<em><code>_str_</code></em>和<em><code>_repr_</code></em>特殊方法)。在</p>
<p>命名元组(在Python2.6中添加)是一种轻量级对象类,与普通自定义类相比,它可以提供一些性能优势和更轻的内存占用(例如,对于只希望命名字段而不将自定义方法绑定到这些对象的情况)。在</p>