擅长:python、mysql、java
<p><code>set_diff</code>返回的值是Python<code>list</code>对象。<code>list</code>对象是一种数据结构,它允许根据条目在数据结构中的位置对其进行位置访问,与math类中的矩阵行非常相似(除了“条目”可以是任何类型的对象)。你知道吗</p>
<p>您的代码要求名为<code>Diff.diff</code>的<code>list</code>对象拥有一个属性<code>a</code>,该属性是对第0个条目的引用,依此类推。但这不是<code>list</code>类支持的数据访问类型。你知道吗</p>
<p>相反,您可以使用名为<code>namedtuple</code>的特定数据类型,该数据类型具有命名属性<code>a</code>、<code>b</code>和<code>c</code>。在这种情况下,您的代码如下所示:</p>
<pre><code>class Diff(object):
def __init__(self, a, b):
self.a = dict(a)
self.b = dict(b)
self.diff = self.set_diff(self)
def set_diff(self):
# do something with self.a and self.b here
from collections import namedtuple
diff_tuple = namedtuple('diff_tuple', 'a b c')
return diff_tuple({}, {}, {}) # returns a tuple with three named items
</code></pre>