另一个解决方案:
# memorize position of fixed elementsfixed = [(pos, item) for (pos,item) in enumerate(items) if item.freeze]# shuffle listrandom.shuffle(items)# swap fixed elements back to their original positionfor pos, item in fixed: index = items.index(item) items[pos], items[index] = items[index], items[pos]



