• #17 random&json模块


    前言

    本节将讲解两个模块,一个是随机模块random,一个是字符串和字典之间的转换模块json,这两个模块使用率还是很高的,来认识一下!

    一、random模块

    random的官方文档:https://docs.python.org/3.5/library/random.html

    这里只记录常用的方法:

    In [3]: import random               # 导入random模块
    
    In [4]: random.random()             # 随机生成0到1之间的浮点数,注意:包括0和1
    Out[4]: 0.8952565343053827
    
    In [5]: random.random()             # 再生成一个
    Out[5]: 0.6822327896680234
    In [12]: import random
    
    In [13]: random.randint(1,10)       # 随机生成一个1到10之间的整数,包括1和10
    Out[13]: 5
    
    In [14]: random.randint(1,10)       # 再生成一个
    Out[14]: 2
    In [15]: import random
    
    In [17]: random.uniform(1.1,9.9)    # 随机生成一个1.1到9.9之间的浮点数,区间可以是浮点数
    Out[17]: 8.136851906531758
    
    In [18]: random.uniform(1.1,9.9)    # 再生成一个
    Out[18]: 8.24769737404256
    In [19]: import random
    
    In [20]: random.choice('I am MinuteSheep')    # 随机从字符串里面取出一个字符
    Out[20]: 'u'
    
    In [22]: random.choice('I am MinuteSheep')    # 再取一个
    Out[22]: 'I'
    
    In [25]: random.choice('I am MinuteSheep')    # 空格也算一个字符哦
    Out[25]: ' '
    
    In [26]: random.choice([1,2,4,6,9])           # 列表也行,字典不行
    Out[26]: 2
    In [28]: import random
    
    In [29]: random.randrange(1,15)     # 随机生成一个1到15的整数,和randint()相同
    Out[29]: 12
    
    In [32]: random.randrange(1,15,2)   # 随机生成一个1到15且间距为2的整数,相当于从[1,3,5,7,9,11,13,15]里面随机取出一个 
    Out[32]: 11
    
    In [33]: random.randrange(1,15,2)  
    Out[33]: 3
    
    In [34]: random.randrange(1,15,2)
    Out[34]: 9
    
    In [35]: random.randrange(1,15,2)
    Out[35]: 1
    In [39]: import random
    
    In [40]: num = [1,2,3,4,5,6,7]   
    
    In [41]: random.shuffle(num)        # 将列表里面的元素随机打乱
    
    In [42]: num
    Out[42]: [3, 7, 5, 1, 2, 6, 4]
    
    In [43]: random.shuffle(num)        # 再打乱一次
    
    In [44]: num
    Out[44]: [1, 6, 4, 3, 5, 2, 7]

    二、json模块

    json官方文档:https://docs.python.org/3.5/library/json.html

    大家可能知道一些常见的文件格式,比如:txt、pdf、exe、word、ppt、excel

    、zip等等,在程序员这里,通常数据保存为json格式,尤其是作前端的程序员,json实质上是类似字典的字符串,比如:

    '{"name":"MinuteSheep", "age":100, "gender": "male"}'

    乍一看,是个字典;再一看,是个字符串!

    如果想要提取出这段字符串的‘name’信息,想要对其进行字典的操作显然是不可能的,这时候就要用到json模块了:

    In [60]: import json         # 导入json模块
     
    In [61]: info = '{"name":"MinuteSheep", "age":100, "gender": "male"}'   # 这是一个字符串
    
    In [62]: type(info)          # 查看其类型,确认是字符串
    Out[62]: str
    
    In [63]: info_dict = json.loads(info)   # 使用json.loads(str)将其转换为字典
    
    In [64]: info_dict           # 可以看到这是一个字典
    Out[64]: {'age': 100, 'gender': 'male', 'name': 'MinuteSheep'}
    
    In [65]: info_dict['name']   # 可以对其进行字典的操作
    Out[65]: 'MinuteSheep'
    
    # 特别注意:只适用于'{"key":"value"}'的字符串,不适用于"{'key':'value'}"的字符串

    同样,对于字典,也可以将其转换为字符串形式:

    In [68]: import json
    
    In [69]: info = {'age': 100, 'gender': 'male', 'name': 'MinuteSheep'}   # 初始化一个字典用作示例
    
    In [70]: type(info)   # 确认这是个字典
    Out[70]: dict
    
    In [71]: json.dumps(info)   # 使用json.dumps(dict)将其转换为字符串
    Out[71]: '{"age": 100, "gender": "male", "name": "MinuteSheep"}'
    
    
    # 注意:这个方法适用于{"key":"value"}、{'key':'value'}、{'key':"value"}、{"key":'value'}的字典

    json最常用的方法就是这两个,还有两个用的不多的方法:json.load(),json.dump(),这两个用于写入文件,具体使用请查看官方文档

  • 相关阅读:
    hdu1203I NEED A OFFER!(01背包)
    poj3984迷宫问题(dfs+stack)
    hdu1422重温世界杯(动态规划,最长子序列)
    hdu1231最大连续子序列(动态规划)
    cf#514B. Forgery(暴力)
    uvaoj455Periodic Strings(枚举)
    uvaoj1225Digit Counting(暴力)
    uvaoj1586Molar mass(暴力)
    uvaoj1585Score(暴力)
    使用哈希值和&和2^n数组生成索引值的原理
  • 原文地址:https://www.cnblogs.com/minutesheep/p/10354623.html
Copyright © 2020-2023  润新知