首页 > 解决方案 > 尝试在 python 3 中复制列表时未调用函数

问题描述

使用函数,我想复制 pool_list 中的所有项目并将它们作为不同的列表放在 live_wall 中,然后仅对 live_wall 进行随机播放。我的列表不会被复制(或者我猜是克隆的),也不会被打乱。我究竟做错了什么 ?

import random

pool_list = ["1m1","2m1","3m1","4m1","5m1","6m1","7m1","8m1","9m1"]

live_wall = []
dead_wall = []

def copyPool():
    live_wall = list(pool_list)


def shuffleWall():
    random.shuffle(live_wall)

copyPool()
shuffleWall()

print(live_wall)
print(pool_list)
print(len(pool_list))
print(len(live_wall))

标签: python-3.x

解决方案


如果您不想使用全局变量

  pool_list = ["1m1","2m1","3m1","4m1","5m1","6m1","7m1","8m1","9m1"]

  live_wall = []

  def copyPool():
      live_wall = list(pool_list)
      return live_wall

  live_wall = copyPool()

  print(live_wall)

推荐阅读