
本章目录:

方法1:random.shuffle | |
| 可以使用shuffle函数进行随机列表元素,是打乱序列里面的元素,并随机排列的。 | |
| 语 法 | shuffle(listname) |
| 参 数 | |
| 注 意 | shuffle()需要导入 random 模块,然后通过 random 静态对象调用该方法。 shuffle函数中是不能够接受字符串这种数据类型的,需要将字符串转换成其他数据类型。 如果直接输入字符串则会报错。 |
| 返 回 值 | 该函数没有返回值 |
| 知识拓展 | 1、使用参数对列表进行无序排列,每次无序排列时都会产生相同的结果 使用随机模块的random.seed()方法,每次随机洗牌都可能产生相同的结果。将种方法与随机播放方法结合使用,即每次调用shuffle方法之前使用相同的seed值时,在执行多次shuffle操作之后,我们都会得到相同的列表。 2、random.shuffle不适用于字符串。它不能接受字符串参数,将出现错误。 TypeError:'str' object does not support item assignment 得到类型错误:“str”对象不支持项分配。 解决办法: 将字符串转换为字符列表。随机地转换字符列表序列,再将无序排列的列表转换为字符串 |
| 实 例 | |
| 代 码 | from random import shuffle mlist= ["小猫咪", "小白兔", "小青蛙", "小狗狗", "大灰狼", "小鸟"] print(mlist) shuffle(mlist) print(mlist) |
| 运行结果 | ['小猫咪', '小白兔', '小青蛙', '小狗狗', '大灰狼', '小鸟'] ['小白兔', '大灰狼', '小狗狗', '小猫咪', '小鸟', '小青蛙'] |
| 代 码 | from random import shuffle mlist= [1,2,3,4,5,6,7,8] print(mlist) shuffle(mlist) print(mlist) |
| 运行结果 | [1, 2, 3, 4, 5, 6, 7, 8] [4, 6, 8, 1, 3, 5, 7, 2] |
| #使用random.shuffle随机播放字符串列表 | |
| 代 码 | from random import shuffle mlist= ["愿你开怀永不孤单,让快乐弥漫", "愿星光为你,漆黑里指路", "愿清风为你,吹走那苦闷", "逆境清醒愿你战胜自己昂首扬帆将来"] shuffle(mlist) print("第一次shuffle之后的随机字符串列表:",mlist) shuffle(mlist) print("第二次shuffle之后的随机字符串列表:",mlist) shuffle(mlist) print("第三次shuffle之后的随机字符串列表:",mlist) shuffle(mlist) print("第四次shuffle之后的随机字符串列表:",mlist) |
| 运行结果 | 第一次shuffle之后的随机字符串列表: ['愿清风为你,吹走那苦闷', '愿星光为你,漆黑里指路', '愿你开怀永不孤单,让快乐弥漫', '逆境清醒愿你战胜自己昂首扬帆将来'] 第二次shuffle之后的随机字符串列表: ['愿你开怀永不孤单,让快乐弥漫', '愿清风为你,吹走那苦闷', '愿星光为你,漆黑里指路', '逆境清醒愿你战胜自己昂首扬帆将来'] 第三次shuffle之后的随机字符串列表: ['愿你开怀永不孤单,让快乐弥漫', '逆境清醒愿你战胜自己昂首扬帆将来', '愿清风为你,吹走那苦闷', '愿星光为你,漆黑里指路'] 第四次shuffle之后的随机字符串列表: ['愿星光为你,漆黑里指路', '愿清风为你,吹走那苦闷', '愿你开怀永不孤单,让快乐弥漫', '逆境清醒愿你战胜自己昂首扬帆将来'] |
| 代 码 | import random mlist = [1,2,3,4,5,6,7,8,9] print ("原来列表是: ", mlist ) random.seed(5) random.shuffle(mlist) print("现在列表是:", mlist ) mlist = [1,2,3,4,5,6,7,8,9] random.seed(5) random.shuffle(mlist) print("现在列表是:", mlist) |
| 运行结果 | 原来列表是: [1, 2, 3, 4, 5, 6, 7, 8, 9] 现在列表是: [3, 4, 2, 1, 9, 8, 7, 6, 5] 现在列表是: [3, 4, 2, 1, 9, 8, 7, 6, 5] |
| 分析解释: | 使用参数对列表进行无序排列,每次无序排列时都会产生相同的结果 使用随机模块的random.seed()方法,每次随机洗牌都可能产生相同的结果。将种方法与随机播放方法结合使用,即每次调用shuffle方法之前使用相同的seed值时,在执行多次shuffle操作之后,我们都会得到相同的列表。 |
| random.shuffle不适用于字符串。它不能接受字符串参数,将出现错误。 TypeError:'str' object does not support item assignment 得到类型错误:“str”对象不支持项分配。 解决办法: 将字符串转换为字符列表。随机地转换字符列表序列,再将无序排列的列表转换为字符串。 | |
| 代 码 | import random str1 = "逆境清醒" print ("原来字符串是: ", str1) mlist = list(str1) random.seed(6) random.shuffle(mlist) str1 = ''.join(mlist) print ("现在字符串是: ", str1) |
| 运行结果 | 原来字符串是: 逆境清醒 现在字符串是: 醒清境逆 |
| 代 码 | import random str1 = "Adversity Awake" print ("原来字符串是: ", str1) mlist = list(str1) random.seed(5) random.shuffle(mlist) str1 = ''.join(mlist) print ("现在字符串是: ", str1) |
| 运行结果 | 原来字符串是: Adversity Awake 现在字符串是: vekaeditAyAswr |
| 使用相同的顺序一次洗牌两个Python列表(随机播放两个列表,但保持相同的随机播放顺序)。例如,一个列表包含水果名,另一个列表包含水果颜色,同步随机变化时,两个列表内的水果名和颜色必须对得上。 | |
| 代 码 | import random mlist = ['红苹果', '香蕉', '橘子'] colorlist = ['红色','黄色','橙色'] print("随机变化前") print("水果名: ", mlist) print("水果颜色: ", colorlist) tb_list = list(zip(mlist, colorlist)) random.shuffle(tb_list) mlist, colorlist = zip(*tb_list) print() print("随机变化后") print("水果名: ", mlist) print("水果颜色: ", colorlist) |
| 运行结果 | 随机变化前 水果名: ['红苹果', '香蕉', '橘子'] 水果颜色: ['红色', '黄色', '橙色'] 随机变化后 水果名: ('橘子', '红苹果', '香蕉') 水果颜色: ('橙色', '红色', '黄色') |
| 代 码 | |
| 运行结果 | |
请点击下一章查看后续实例详解 ------》
| 逆境清醒 Python List列表——全实例详解系列 | ||
![]() | ||
| 1 | 《 Python List 列表全实例详解系列(一)》__系列总目录、列表概念 | |
| 2 | 《 Python List 列表全实例详解系列(二)》__创建列表(5种方法) | |
| 3 | 《 Python List 列表全实例详解系列(三)》__列表添加元素(4种方法) | |
| 4 | 《 Python List列表全实例详解系列(四)》__列表删除元素(4种方法)删除重复元素方法 | |
| 5 | 《 Python List 列表全实例详解系列(五)》__修改元素(修改单个、修改一组) | |
| 6 | 《 Python List 列表全实例详解系列(六)》__查找元素 | |
| 7 | 《 Python List 列表全实例详解系列(七)》__索引和切片 | |
| 8 | 《 Python List 列表全实例详解系列(八)》__随机列表元素 | |
| 9 | 《 Python List 列表全实例详解系列(九)》__列表反转(6种方法) | |
| 10 | 《 Python List 列表全实例详解系列(十)》__清空列表 | |
| 11 | 《 Python List 列表全实例详解系列(十一)》__列表运算符 | |
| 12 | 《 Python List 列表全实例详解系列(十二)》__列表内置及常用函数 | |
| 13 | 《 Python List 列表全实例详解系列(十三)》__相关技巧 | |
| 14 | 《 Python List 列表全实例详解系列(十四)》__列表练习实例 | |
推荐阅读:
| 29 |
| svg实例详解系列 |
| 28 |
| |
| 27 |
| |
| 26 |
| 2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子 |
| 25 |
| 2023春节祝福系列第一弹(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载) |
| 24 |
| |
| 23 |
| |
| 22 |
| |
| 21 |
| python爱心源代码集锦 |
| 20 |
| 巴斯光年python turtle绘图__附源代码 |
| 19 |
| Three.js实例详解___旋转的精灵女孩(附完整代码和资源) |
| 18 |
| |
| 17 |
| |
| 16 |
| |
| 15 |
| |
| 14 |
| |
| 13 |
| |
| 12 |
| |
| 11 |
| 用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心) |
| 10 |
| |
| 9 |
| |
| 8 |
| |
| 7 |
| |
| 6 |
| |
| 5 |
| |
| 4 |
| |
| 3 |
| |
| 2 |
| |
| 1 |
|