相同的列表改组不能用作函数 // Python

Identical list shuffling doesn't work as function // Python

我目前正在尝试编写一个简单的洗牌函数,以相同方式洗牌两个列表。我已经让它在函数之外工作,但是一旦我添加它,它就会正常打印列表。有人可以告诉我我做错了什么或指出正确的方向吗?我确定这很简单。

第一段代码是我正在尝试做的,第二段是目前有效的。

感谢任何能提供帮助的人。

干杯

import random
ARRAYQ = ["Q1", "Q2", "Q3", "Q4"]
ARRAYA = ["A1", "A2", "A3", "A4"]

def shuffle(list1, list2):
    enclosed = list(zip(list1, list2))
    random.shuffle(enclosed)
    list1, list2 = zip(*enclosed)
    return list1, list2

shuffle(ARRAYQ, ARRAYA)
print(ARRAYQ)
print(ARRAYA)

.

import random
ARRAYQ = ["Q1", "Q2", "Q3", "Q4"]
ARRAYA = ["A1", "A2", "A3", "A4"]

enclosed = list(zip(ARRAYQ, ARRAYA))
random.shuffle(enclosed)
ARRAYQ, ARRAYA = zip(*enclosed)

print(ARRAYQ)
print(ARRAYA)

看看第一个片段。它正常打印列表,因为您打印在函数之前声明的变量。

应该是:

import random
ARRAYQ = ["Q1", "Q2", "Q3", "Q4"]
ARRAYA = ["A1", "A2", "A3", "A4"]

def shuffle(list1, list2):
    enclosed = list(zip(list1, list2))
    random.shuffle(enclosed)
    list1, list2 = zip(*enclosed)
    return list1, list2

list1, list2 = shuffle(ARRAYQ, ARRAYA)
print(list1)
print(list2)