擅长:python、mysql、java
<p>这个问题似乎与这里关于堆栈溢出的一些其他问题重复,但希望下面的示例能有所帮助。注意:我使用的是Python 3.7。底线是您需要实现<code>Sequence</code>接口</p>
<p>希望下面的示例会有所帮助:</p>
<pre class="lang-py prettyprint-override"><code>from collections.abc import Sequence
class MyArray(Sequence):
def __init__(self, array):
self.array = array
def __getitem__(self, i):
return self.array[i]
def __len__(self):
return len(self.array)
@classmethod
def from_input(cls):
array = list()
number_of_elements = int(input('How many elements? '))
for i in range(number_of_elements):
element = int(input("Type an integer"))
array.append(element)
return cls(array)
test1 = MyArray.from_input()
# How many elements? 4
# Type an integer: 1
# Type an integer: 2
# Type an integer: 3
# Type an integer: 4
test1[3]
# 4
test2 = MyArray.from_input()
# How many elements? 4
# Type an integer: 0
# Type an integer: 3
# Type an integer: 1
# Type an integer: 5
comparedata(test1, test2)
# [1]
# [1, 3]
# [1, 3, 3]
# [1, 3, 3, 5]
</code></pre>