小编Joh*_*ohn的帖子

使用生成器表达式会导致Python挂起

我正在试验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)

python list-comprehension generator

6
推荐指数
1
解决办法
897
查看次数

标签 统计

generator ×1

list-comprehension ×1

python ×1