我正在试验2个模拟zipPython 2.x和3.x中内置函数的函数.第一个返回一个列表(如在Python 2.x中),第二个是生成器函数,它一次返回一个结果集(如在Python 3.x中):
def myzip_2x(*seqs):
its = [iter(seq) for seq in seqs]
res = []
while True:
try:
res.append(tuple([next(it) for it in its])) # Or use generator expression?
# res.append(tuple(next(it) for it in its))
except StopIteration:
break
return res
def myzip_3x(*seqs):
its = [iter(seq) for seq in seqs]
while True:
try:
yield tuple([next(it) for it in its]) # Or use generator expression?
# yield tuple(next(it) for it in its)
except StopIteration:
return
print(myzip_2x('abc', 'xyz123'))
print(list(myzip_3x([1, 2, 3, …Run Code Online (Sandbox Code Playgroud)