为什么我不能 "import random.shuffle"?

Why can't I "import random.shuffle"?

我能做到

import random
a = [1, 2, 3]
random.shuffle(a)

from random import shuffle
a = [1, 2, 3]
shuffle(a)

但是我不能

import random.shuffle
a = [1, 2, 3]
random.shuffle(a)

这会让口译员抱怨

'random' is not a package.

这是为什么?

只是将评论放入答案中。 import a.b 从 a 导入 b 模块或包。由于 shuffle 不是包,因此无法导入它。 阅读更多关于包 here.

你不能import random.shuffle,因为它是函数,所以说它不是包的错误是正确的。

如果你只想导入随机播放,你可以这样做:

from random import shuffle

a = [1, 2, 3]
shuffle(a)

像这样导入随机播放

from sklearn.utils import shuffle