我正在尝试实现Pair
类。一个Pair
对象包含两个列表ls_1
和ls_2.
然后,扩展这个类,这样就可以在index i
的ls_1
和ls_2
对元素进行迭代Index i
从0
开始。
这是我目前的代码:
class Pair:
def __init__(self, l, k):
self.l = l
self.k = k
def __iter__(l):
return Pair(l)
def __iter__(k):
return Pair(k)
def __next__(self):
x = iter(self.l)
y = iter(self.k)
nad = x.__next__()
raf = y.__next__()
return (nad,raf)
我试着用下面的列表来运行它
l = [1, 2, 3, 4, 5]
k = [0, 9, 8]
pair = Pair(l, k)
print(next(pair))
print(next(pair))
print(next(pair))
print(next(pair))
我希望它会返回这样的结果:
(1,0)
(2,9)
(3,8)
(4, None)
但是我得到了:
(1,0)
(1,0)
(1,0)
(1,0)
首先,很难理解您的代码,因为它的格式不好,但您的问题可以很简单地解决。只需看看下面的代码(有注释,所以应该自我解释)
相关问题 更多 >
编程相关推荐