您的生成器不会产生 新 列表,而是会一遍又一遍地产生 相同的列表 。当您将产生的引用附加到a
您身上时,只会一遍又一遍地看到相同的原始列表(以最近的混排形式)。
产生副本:
def poss_comb(coord):
coord = coord[:] # use a local copy of the list
random.shuffle(coord)
yield coord
def poss_comb(coord):
yield sorted(coord, key=lambda k: random.random())