分享

python数字&集合

 Coder编程 2022-11-18 发布于北京

数值类型

  • 不同进制数字面量

    a = 0b111   # 二进制
    b = 0o234   # 八进制
    c = 0xabc   # 十六进制
    
  • 进制转化函数

    # 把一个整数转换成三种进制表示的字符串
    hex(I)
    oct(I)
    bin(I)
    # 根据给定的进制把一个字符串转化为整数
    int(str, base) 
    
  • 常用内置数学工具

    import math
    # 向下取整
    math.floor(2.567) == 2 
    math.floor(-2.567) == -3 
    # 向零取整
    math.trunc(2.567) == 2 
    math.trunc(-2.567) == -2
    # 舍弃小数部分
    int(2.567) == 2
    int(-2.567) == -2
    # 四舍五入
    round(2.567) == 3
    round(2.456) == 2
    round(2.456, 2) = 2.46 #保留两位小数
    
  • random模块

    import random
      # 从一个序列中随机选取一项
      random.choice([1, 2, 3, 4])
      # 打乱列表顺序
      random.shuffle(L)
    

集合

不可变对象的无序集合

  • 创建集合

    # 将一个序列或者可迭代对象传入set函数
    x = set("abcd")
    y = set([1, 2, 3, 3])
    k = {1, 2, 3}
    m = {} # 这不是一个空集合,而是与一个空字典
    z = set() # 创建空集合
    
  • 集合运算

    # | & ^ < 只能表示集合运算时,两个操作数必须都是集合
    x = {1, 2, 3, 4}
    y = {1, 2}
    z = {3, 4, 5}
    x - y == {3, 4}
    x - z == {1, 2} 
    x | z == {1, 2, 3, 4, 5} #或
    x & y == {1, 2} #与
    x ^ z == {1, 2, 5} # 异或
    y < x == True # 子集
    
    # 对原集合修改
    x.add(90)  # 为集合x增加一个元素
    x.remove(90) # 把集合x中的90删除
    x.update(z) # 等价 x = x | y
    
    # 以下方法,参数y不必是一个集合,但必须是一个可以通过set()函数变成集合的可迭代对象
    # y可以是列表,元组,字符串 等可迭代对象
    x.union(y) # 并
    x.intersection(y) # 交
    x.issubset(y) # 是否时子集
    
  • 不可变性

    集合只能包含不可变的对象类型。因此列表,字典,集合不能放入集合中。元组是不可变的,可以放入集合。如果需要在一个集合中存储一个集合,可以调用内置函数frozenset()。功能类似set()函数。

  • 借助集合可以进行顺序无关的等价性测试

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多