在使用Python3的shuffle函数时,需确保列表已导入random模块且元素可排序。
- 内容介绍
- 文章标签
- 相关推荐
本文共计634个文字,预计阅读时间需要3分钟。
1+ shuffle函数与其他函数不同的地方是shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!它仅仅实现了对list元素进行随机排序的功能。请看下面的坑+1.1+误认为as
1 shuffle函数与其他函数不一样的地方
shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能
请看下面的坑
1.1 误认为shuffle函数会有一个返回值的错误例子
num1 = list(range(1,39526)) #产生1-39525的数 num2 = random.shuffle(num1) num3 = num2[0:30000] #取前30000个行号的元素 num4 = num2[30000:39524] #取到后面9525个元素
执行结果:
File "E:/pythonProj/test2/readDatasetCSVfile.py", line 122, in <module> num3 = num2[0:30000] #取前30000个行号的元素 TypeError: 'NoneType' object is not subscriptable
从这个错误中我们也可以看出来,指明obiect没有类型,其实现在这个num2中是null,什么也没有,因为shuffle没有返回值,所以自然会报这种类型的错误。
本文共计634个文字,预计阅读时间需要3分钟。
1+ shuffle函数与其他函数不同的地方是shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!它仅仅实现了对list元素进行随机排序的功能。请看下面的坑+1.1+误认为as
1 shuffle函数与其他函数不一样的地方
shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能
请看下面的坑
1.1 误认为shuffle函数会有一个返回值的错误例子
num1 = list(range(1,39526)) #产生1-39525的数 num2 = random.shuffle(num1) num3 = num2[0:30000] #取前30000个行号的元素 num4 = num2[30000:39524] #取到后面9525个元素
执行结果:
File "E:/pythonProj/test2/readDatasetCSVfile.py", line 122, in <module> num3 = num2[0:30000] #取前30000个行号的元素 TypeError: 'NoneType' object is not subscriptable
从这个错误中我们也可以看出来,指明obiect没有类型,其实现在这个num2中是null,什么也没有,因为shuffle没有返回值,所以自然会报这种类型的错误。

