Python shuffle list not working
本问题已经有最佳答案,请猛点这里访问。
我是Python的新手。从C++背景来看,我很讽刺地理解了这种语言的简单性,更不用说空闲的工作了。
无论如何,我需要编写一个简单的函数,它接受一个列表,并返回一个新的列表,其中的元素被无序排列。
这就是我到目前为止所拥有的
1 2 3 4 5 6 7 8 9 10 11 12 13 | import random def shuffle(): aList = [] i = 0 for i in range(0, 5): elements = input(":") aList.append(elements) shuffleList = random.shuffle(aList) return shuffleList shuffle() |
在我输入元素(本例中是数字)之后,没有输出。因此,由于某种原因,无序播放列表没有显示在其中。有什么想法吗?
1
2
3
4
5
6
7 >>>
: 1
: 2
: 3
: 4
: 5
>>>
由于您将其输出存储并返回到
因此,将
1 2 3 4 5 6 7 8 9 | import random def shuffle(): aList = [] i = 0 for i in range(0, 5): elements = input(":") aList.append(elements) random.shuffle(aList) return aList |
所以,您实际上是将
您可以通过使用
1 2 | results = shuffle() print results |
要修复它,只需返回
1 2 | random.shuffle(aList) return aList |
1 2 3 4 5 6 | >>> l [0, 1, 2, 3, 4] >>> random.shuffle(l) >>> l [0, 3, 1, 4, 2] |
随机播放随机播放列表,不会返回新列表。试试这个:
1 2 3 4 5 6 7 8 9 10 11 12 13 | import random def shuffle(): aList = [] for i in range(0, 5): elements = input(":") aList.append(elements) random.shuffle(aList) return aList print shuffle() |