python3中shuffle函数

时间:2022-08-29 15:21:50

1、 shuffle函数与其他函数不一样的地方

shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能

请看下面的坑

1.1 误认为shuffle函数会有一个返回值的错误例子

import random
num1 = list(range(1, 39526)) # 产生1-39525的数
num2 = random.shuffle(num1)
num3 = num2[0:30000] # 取前30000个行号的元素
num4 = num2[30000:39524] # 取到后面9525个元素

执行结果:

Traceback (most recent call last):
File "E:/工作文档/python.py/12.py", line 2, in <module>
num2 = random.shuffle(num1)
NameError: name 'random' is not defined

其实现在这个num2中是null,什么也没有,因为shuffle没有返回值,所以自然会报这种类型的错误。

1.2 正确使用shuffle函数的例子

import random
num1 = list(range(1, 39526)) # 产生1-39525的数
random.shuffle(num1)
num3 = num1[0:30000] # 取前30000个行号的元素
num4 = num1[30000:39524] # 取到后面9525个元素