洗牌时我得到一个无对象。怎么了?

2024-04-19 16:36:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经将列表洗牌并将其分配给另一个变量,当我试图打印它时,它将输出为None?怎么了?你知道吗

list1 = [1,2,3,4,5,6]
list2 = shuffle(list1)
print list2

Tags: none列表printshufflelist2list1
2条回答

Shuffle()函数无法直接访问,因此需要导入Shuffle模块,然后需要使用随机静态对象调用此函数。你知道吗

#!/usr/bin/python

import random`
list = [1, 2, 3, 4, 5];
random.shuffle(list)
print "list : ",  list

^{}函数被设计用来获取一个列表并洗牌它的内容。它不返回经过洗牌的列表。文件规定:

Shuffle the sequence x in place.

因此,如果您尝试将返回赋值给一个变量,您将得到None。你知道吗

您可以改为执行以下操作:

list1 = [1,2,3,4,5,6]
shuffle(list1)
print list1

如果您希望保留原始列表顺序:

list1 = [1,2,3,4,5,6]
list2 = list1[::]   # make a copy
shuffle(list2)
print list2

相关问题 更多 >