在python3中使用shuffle函数要注意的地方


Posted in Python onFebruary 28, 2020

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没有返回值,所以自然会报这种类型的错误。

1.2 正确使用shuffle函数的例子

num1 = list(range(1,39526)) #产生1-39525的数
random.shuffle(num1) #注意shuffle没有返回值,该函数完成一种功能,就是对list进行排序打乱
num3 = num1[0:30000] #取前30000个行号的元素
num4 = num1[30000:39524] #取到后面9525个元素

这个时候才顺利运行通过!

补充拓展:对python中使用shuffle和permutation对列表进行随机洗牌的区别

函数:shuffle将列表的所有元素随机排序,不生成新的数组返回

示例:

import random

list = [20, 16, 10, 5];
random.shuffle(list) # 参数只能是列表,元组、字典、字符串会报错
print("随机排序列表 : ", list)
random.shuffle(list)
print("随机排序列表 : ", list)

执行结果:

在python3中使用shuffle函数要注意的地方

函数:permutation 返回排列范围的随机列表或返回一个新的打乱顺序的数组,并不改变原来的数组,

如果输入是一个多维数组,则它只沿其第一个索引进行无序排列

示例:

import numpy as np
new_arr = np.random.permutation(10)
print(new_arr)
new_arr1 = np.random.permutation([1, 4, 9, 12, 15]) # 参数为列表
print(new_arr1)
arr = np.arange(9).reshape((3, 3))
new_arr2 = np.random.permutation(arr)
print(new_arr2)
new_arr3 = np.random.permutation([{"a": 1, "b": 2}, [{"e": 5}, {"c": 3}, {"d": 4}], [{"f": 6}, {"g": 8}]])# 子数组中的排列顺序不变
print(new_arr3)
new_arr4 = np.random.permutation((1, 4, 9, 12, 15)) #可以传元组参数
print(new_arr4)
import numpy as np
new_arr = np.random.permutation(10)
print(new_arr)
new_arr1 = np.random.permutation([1, 4, 9, 12, 15])
print(new_arr1)
arr = np.arange(9).reshape((3, 3))
new_arr2 = np.random.permutation(arr)
print(new_arr2)
new_arr3 = np.random.permutation([{"a": 1, "b": 2}, [{"e": 5}, {"c": 3}, {"d": 4}], [{"f": 6}, {"g": 8}]]) # 子数组中的排列顺序不变
print(new_arr3)

执行结果:

在python3中使用shuffle函数要注意的地方

以上这篇在python3中使用shuffle函数要注意的地方就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
Jun 26 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
使用pygame写一个古诗词填空通关游戏
Dec 03 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
Python使用Tkinter实现滚动抽奖器效果
Jan 06 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
Mar 02 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 Python
常用的Python代码调试工具总结
Jun 23 Python
Python对称的二叉树多种思路实现方法
Feb 28 #Python
pycharm如何实现跨目录调用文件
Feb 28 #Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 #Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 #Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 #Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
Feb 27 #Python
Python递归求出列表(包括列表中的子列表)的最大值实例
Feb 27 #Python
You might like
一个简单的MySQL数据浏览器
2006/10/09 PHP
php面向对象 字段的声明与使用
2012/06/14 PHP
ThinkPHP的常用配置选项汇总
2016/03/24 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
JavaScript 绘制饼图的示例
2021/02/19 Javascript
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python3.5仿微软计算器程序
2020/03/30 Python
python+opencv实现的简单人脸识别代码示例
2017/11/14 Python
python实现五子棋小程序
2019/06/18 Python
Python 生成VOC格式的标签实例
2020/03/10 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
python如何进行矩阵运算
2020/06/05 Python
关于Python字符编码与二进制不得不说的一些事
2020/10/04 Python
美国网上花店:JustFlowers
2017/02/12 全球购物
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
size?丹麦官网:英国伦敦的球鞋精品店
2019/04/15 全球购物
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
金融专业个人求职信范文
2013/11/28 职场文书
微型企业创业投资计划书
2014/01/10 职场文书
毕业寄语大全
2014/04/09 职场文书
小学生演讲稿大全
2014/04/25 职场文书
环保倡议书50字
2014/05/15 职场文书
竞聘上岗演讲稿
2014/05/16 职场文书
小学生读书活动总结
2014/06/30 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
商业计划书格式、范文
2019/03/21 职场文书