zoukankan      html  css  js  c++  java
  • 关于Python的随机数模块,你必须要掌握!

    所谓七夕

    前几天的文章这个七夕节,用Python为女友绘制一张爱心照片墙吧!收获了最近以来最高的浏览量,没枉费我熬到夜里3点赶出来的热点文章。有付出就总会有所回报,只是看这天来的早晚而已。七夕一个人看这网易的数据分析直播体验课程,偶尔刷刷朋友圈,看看各种秀…有人说,经得起寂寞,耐得住孤独,能安心踏实去做一件事,才有有所建树。努力吧更为朋友们!

    常用模块

    面对现在各种的python3天入门、21天速成,等等的教程与素材,让很多人对python的基础知识,掌握的很薄弱。包括我身边的朋友,已经开始Django、Flask的web开发了,甚至对文件遍历还不慎了解。昨天在做照片墙的时候,用到了random模块,大家可能觉得,这个模块有啥说的,无非就是随机数么,但随机的方式却有很多,今天就跟大家总结下random这个常用的模块

    random函数总结

    random作为python自带的模块,无需下载即可直接使用。import random导入该模块。

    • random

    random.random()会生成一个[0,1)之间的随机数,如:0.21639729286525555。

    • randint

    random.randint(start,end)随机生成一个范围内的整数。
    random.randint(1,100) >>> 62

    • uniform

    random.uniform(start,end)随机生成一个范围内的浮点数,起始与终止区间可以为小数
    random.uniform(3.5,9.6) >>> 8.233366765359236

    可迭代对象

    python中万物皆对象,那么什么属于可迭代的对象呢?我们来举几个例子

    list_a = [1, 2, 3]
    dict_b = {“a”:1,”b”:2}
    string_c = “abc”
    char_d = ‘A’
    int_e = 123
    float_f =10.5
    boolen_g = True

    对于前两个,大家肯定知道是可迭代对象,但从第三个开始有些人就迷了…尤其char_d = 'A'这个,很多人都会觉得是不可迭代的,但其实不然,python中没有所谓的char和string的区别,只有字符串所以string_c和char_d都是可迭代的对象,如何验证?

    from collections.abc import Iterable
    
    char_c = 'A'
    print(isinstance(char_c, Iterable))
    >>> True

    这里看到一点曾记否,我们引入Iterable使用的是from collections import Iterable什么时候出来了个abc?如果我们还是用老的方式导入,会给出提示:

    DeprecationWarning: Using or importing the ABCs from ‘collections’ instead of from ‘collections.abc’ is deprecated, and in 3.8 it will stop working from collections import Iterable

    所以有时候拥抱变化,也很重要!那么为什么突然插出一个Iterable的讲解呢?下面几个方法会用到…

    • choice & sample

    刚才介绍可迭代对象就是为了讲解这两个random中使用最为普遍的函数。choice和sample之所以一起讲,是为了将二者对比记忆。
    不管是random.choice还是random.sample,他们跟的必须是可迭代的对象。
    choice我们可以理解为单选,而sample我们可以理解为自定义多选。举个栗子:

    random.choice('abc')
    >>> 'b'
    random.choice([1,2,3,4,5])
    >>> 2
    random.sample('abc',2)
    >>> ['b', 'c']
    random.sample([1,2,3,4,5],3)
    >>> [3, 5, 4]
    # 但我们不可以这样:
    random.choice(5)
    random.sample(10,1)

    choice不容易出错,但sample大家需要注意:

    1. sample既然是自定义多选,那么我们首先需要定义我们选择几个数值

    2. sample在选择是,自定义的数值,不能大于可迭代对象的最大长度

    3. sample选择后,返回列表类型,且列表为随机数。

    • shuffle

    random.shuffle()这里需要注意,他只能针对list类型的数据,进行重新排序,这点一定要牢记,避免报错

    list_a = ['a','b','c','d','e']
    random.shuffle(list_a)
    print(list_a)
    >>> ['b', 'e', 'c', 'a', 'd']

    The End

    OK,今天的内容就到这里,如果觉得内容对你有所帮助,欢迎点击文章右下角的“在看”。
    期待你关注我的公众号清风Python,如果觉得不错,希望能动动手指转发给你身边的朋友们。

    作者:清风Python

  • 相关阅读:
    数据可视化之PowerQuery篇(八)利用PowerQuery,进行更加灵活的数据分列
    数据可视化之PowerQuery篇(七)Power Query应用技巧:批量更改列名
    数据可视化之PowerQuery篇(六)PowerQuery技巧:批量合并Excel表的指定列
    数据可视化之PowerQuery篇(五)PowerQuery文本处理技巧:移除和提取
    数据可视化之PowerQuery篇(四)二维表转一维表,看这篇文章就够了
    数据可视化之PowerQuery篇(三)学会使用PowrQuery的自定义函数
    数据可视化之PowerQuery篇(二)这个方法帮你快速计算列
    HTML DOM Frame,IFrame scrolling 属性
    PHP header() 函数
    string.toUpperCase (String) – JavaScript 中文开发手册
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/11861581.html
Copyright © 2011-2022 走看看