码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 《 Python List 列表全实例详解系列(八)》__随机列表元素


    《 Python List 列表全实例详解系列(八)》

    __随机列表元素

    fb5bd020199c48fdaab061f9843f77a6.gif

        本章目录:

      十、随机列表元素

    方法1:random.shuffle

    方法2:random.sample

    f3751a45350f4910835ba888fb79118a.gif


    十、随机列表元素

    方法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)

    运行结果

    随机变化前

    水果名:   ['红苹果', '香蕉', '橘子']

    水果颜色:   ['红色', '黄色', '橙色']

    随机变化后

    水果名:   ('橘子', '红苹果', '香蕉')

    水果颜色:  ('橙色', '红色', '黄色')

    代  码

    运行结果

    方法2:random.sample:

    random.sample()方法返回新列表,其中包含传递给它的样本大小。如果我们传递的示例大小与列表的大小相同,它将返回新列表,该列表是原始列表的无序版本

    语  法

    new_list = random.sample(mlist,  len(mlist))

    参  数

    注  意

    返 回 值

    返回新列表

    知识拓展

    实 例

    代  码

    import random

    mlist = [1,2,3,4,5,6,7,8,9]

    print ("原来列表是 :  ",  mlist)

    new_list = random.sample(mlist,  len(mlist))

    print ("现在列表是  : ",  new_list)

    运行结果

    原来列表是 :   [1, 2, 3, 4, 5, 6, 7, 8, 9]

    现在列表是  :  [8, 9, 6, 3, 1, 2, 4, 5, 7]

    代  码

    import random

    mlist = ['逆','境','清','醒']

    print ("原来列表是 :  ",  mlist)

    new_list = random.sample(mlist,  len(mlist))

    print ("现在列表是  : ",  new_list)

    运行结果

    原来列表是 :   ['逆', '境', '清', '醒']

    现在列表是  :  ['逆', '醒', '境', '清']

    代  码

    import random

    mlist = ['A', 'd', 'v', 'e', 'r', 's', 'i', 't', 'y', ' ', 'A', 'w', 'a', 'k', 'e']

    print ("原来列表是 :  ",  mlist)

    new_list = random.sample(mlist,  len(mlist))

    print ("现在列表是  : ",  new_list)

    运行结果

    原来列表是 :   ['A', 'd', 'v', 'e', 'r', 's', 'i', 't', 'y', ' ', 'A', 'w', 'a', 'k', 'e']

    现在列表是  :  ['k', 'w', 's', 'a', 'e', 't', 'A', 'v', ' ', 'r', 'd', 'i', 'y', 'A', 'e']

    代  码

    运行结果

    代  码

    运行结果

    请点击下一章查看后续实例详解 ------》

    逆境清醒 Python List列表——全实例详解系列
    63085ec047084ffd8095bd5d838d810f.gif
    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

    37d6aa3e03e241fa8db72ccdfb8f716b.png​

    svg实例详解系列
    28

    6824ba7870344be68efb5c5f4e1dbbcf.png​

    查看jdk安装路径,在windows上实现多个java jdk的共存解决办法,安装java19后终端乱码的解决

    27

    bba02a1c4617422c9fbccbf5325850d9.png​

    原创唯美浪漫情人节表白专辑,(复制就可用)(html5,css3,svg)更好的向你所喜欢的人表达内心的感受。

    26

    fea225cb9ec14b60b2d1b797dd8278a2.png​

    2023年春节祝福第二弹——送你一只守护兔,让它温暖每一个你【html5 css3】画会动的小兔子
    25

    1f53fb9c6e8b4482813326affe6a82ff.png​

    ​

    2023春节祝福系列第一弹(放飞祈福孔明灯,祝福大家身体健康)(附完整源代码及资源免费下载)
    24

    6176c4061c72430eb100750af6fc4d0e.png​

    ​

    HTML+CSS+svg绘制精美彩色闪灯圣诞树,HTML+CSS+Js实时新年时间倒数倒计时(附源代码)

    23

    17b403c4307c4141b8544d02f95ea06c.png​

    ​

    ​草莓熊python绘图(春节版,圣诞倒数雪花版)附源代码

    22

    5d409c8f397a45c986ca2af7b7e725c9.png​

    ​

    【程序人生】卡塔尔世界杯元素python海龟绘图(附源代码),世界杯主题前端特效5个(附源码)

    21

    0a4256d5e96d4624bdca36433237080b.png​

    ​

    ​​

    python爱心源代码集锦
    20

    4d9032c9cdf54f5f9193e45e4532898c.png​

    ​

    ​​

    巴斯光年python turtle绘图__附源代码
    19

    074cd3c255224c5aa21ff18fdc25053c.png​

    ​

    ​​​

    Three.js实例详解___旋转的精灵女孩(附完整代码和资源)
    18

    daecd7067e7c45abb875fc7a1a469f23.png​

    ​

    ​​​​

    ​草莓熊python turtle绘图(玫瑰花版)附源代码

    17

    fe88b78e78694570bf2d850ce83b1f69.png​

    ​

    ​​​​

    立体多层玫瑰绘图源码__玫瑰花python 绘图源码集锦

    16

    c5feeb25880d49c085b808bf4e041c86.png​

    ​

    ​​​​

    皮卡丘python turtle海龟绘图(电力球版)附源代码

    15

    38266b5036414624875447abd5311e4d.png​

    ​

    ​​​​

    【CSDN云IDE】个人使用体验和建议(含超详细操作教程)(python、webGL方向)

    14

    03ed644f9b1d411ba41c59e0a5bdcc61.png​

    ​

    ​​​​

    草莓熊python turtle绘图(风车版)附源代码

    13

    09e08f86f127431cbfdfe395aa2f8bc9.png​

    ​

    ​​​​

    用代码过中秋,python海龟月饼你要不要尝一口?

    12

    40e8b4631e2b486bab2a4ebb5bc9f410.png​

    ​

    ​​​​

    《 Python List 列表全实例详解系列》__系列总目录

    11

    938bc5a8bb454a41bfe0d4185da845dc.jpeg​

    ​

    ​​​​

    用代码写出浪漫__合集(python、matplotlib、Matlab、java绘制爱心、玫瑰花、前端特效玫瑰、爱心)

    10

    0f09e73712d149ff90f0048a096596c6.png​

    ​

    ​​​​

    Python函数方法实例详解全集(更新中...)

    9

    93d65dbd09604c4a8ed2c01df0eebc38.png​

    ​

    ​​​​

    matplotlib 自带绘图样式效果展示速查(28种,全)

    8

    aa17177aec9b4e5eb19b5d9675302de8.png​

    ​

    ​​​​

    手机屏幕坏了____怎么把里面的资料导出(18种方法)

    7

    1750390dd9da4b39938a23ab447c6fb6.jpeg​

    ​

    ​​​​

    2023年6月多家权威机构____编程语言排行榜__薪酬状况

    6

    dc8796ddccbf4aec98ac5d3e09001348.jpeg​

    ​

    ​​​​

    Python中Print()函数的用法___实例详解(全,例多)

    5

    1ab685d264ed4ae5b510dc7fbd0d1e55.jpeg​

    ​

    ​​​​

    色彩颜色对照表(300种颜色)(16进制、RGB、CMYK、HSV、中英文名)

    4

    80007dbf51944725bf9cf4cfc75c5a13.png​

    ​

    ​​​​

    Node.js (v19.1.0npm 8.19.3) vue.js安装配置教程(超详细)

    3

    c6374d75c29942f2aa577ce9c5c2e12b.png​

    ​

    ​​​​

    Tomcat 启动闪退问题解决集(八大类详细)

    2

    5218ac5338014f389c21bdf1bfa1c599.png​

    ​

    ​​​​

    Tomcat端口配置(详细)

    1

    fffa2098008b4dc68c00a172f67c538d.png​

    ​

    ​​​​

    Tomcat11、tomcat10 安装配置(Windows环境)(详细图文)

  • 相关阅读:
    Go 内存泄漏,pprof 够用了吗?
    AuNPs功能化聚苯乙烯丙烯酸微球/导电聚苯胺纳米线/聚苯胺纳米纤维修饰聚苯乙烯微球制备方法
    【Mac开发环境搭建】JDK安装、多JDK安装与切换
    c++中一种数据封装的技巧
    Vue2基础学习
    python接口自动化测试 之mock模块基本使用介绍
    Java中如何使用JSON-lib包解析Json格式呢?
    uniapp实现在线PDF文件预览
    『 Linux | 1 』VMware上安装Ubuntu22.04
    抖音seo矩阵系统源代码开发技术文档分享--SaaS开源
  • 原文地址:https://blog.csdn.net/weixin_69553582/article/details/126775646
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号