zoukankan      html  css  js  c++  java
  • 代码块,数据类型的相互转换,集合

    代码块

    运行的一个单元就叫代码块

    所有的文件都基于代码块运行

    程序在文件里写  运行程序就要运行文件

    一个文件就是一个代码块

    交互命令(cmd窗口)中一行就是一个代码块

    id:内存地址 print之后是一个虚拟的id地址

     ==  和  is

    ==    判断两个对象的值是否相同

    lst1 = [1,2,3]

    lst2=  [1,2,3]

    lst1 == lst2   true 内容是相同的

    lst1 is lst2    False   是两个不同的数据

    is   身份运算  判断两个对象的内存地址是否相同

    代码块的驻留 缓存机制

    目的  都是提高性能 节省性能空间

    在python中 默认会把数字 字符串 布尔值进行缓存 

    好处: 不用重复创建字符串 节省性能空间

    针对对象:  int  str  bool  空tuple

    int范围  任意数字

    str范围 几乎所有str 如果str×数字以后字符超过20  False

    数据类型的相互转化  补充:

    int bool str   三者可以互相转化

    bool             可以与所有的数据类型进行转换

                        所有为空的数据类型转为bool都为False

                        0 '' [] () None    都为False

    str转list       用split分割

    list转str       用join 前提是list里内容全部是str

    str转tuple    partition

    tuple转str    用join  之后还可以转化成列表

    list转tuple   谁转化谁  就把谁包起来

    fromkeys:

    dic = dict.fromkeys([1,2,3],'太白')

    print(dic)

    dic = {1:'太白',2:'太白',3:'太白'}

    如果tuple中只有单个元素且没有逗号   则类型是元素本身的类型

    如果value是一个可变的数据类型 那么在内存中key占用的是一个地址   后来的值代替先来的值

    集合 set

    其实就是一种特殊的字典  所有的key对应的value都是None   留下的所有的key就是集合

     创建空集合的唯一办法  调用set函数

    s = set()

    创建带元素的集合

    s = {1,2,3}

    从可迭代对象中创建集合 (list   str   tuple   dict)

    s = set(1,2,3)

    增删改 (集合是无序的 不能使用查的操作)

    add  如果元素存在 不做任何动作

    pop 依次从集合中随即删除一个元素 如果集合为空 报错

         discard  从集合中删除指定元素  如果不存在 什么都不做

         remove   从集合中删除指定元素  如果不存在就报错

         clear  请空集合

    集合常用四大操作

    并集 |

    交集&

    差集-

    对称差 ^

    update  用二者的并集更新当前集合

    difference_update    用二者的差集更新当前集合

    intersection_update     用二者的交集更新当前集合

    symmtric_difference_update     用二者的对称差 更新当前集合

    判断功能

    isdisjiont   判断两个集合是否没有交集

    issubset    判断当前集合是否是后者的子集

    issuperset    判断后者是否是当前集合的子集

    集合的使用场景

    1.判断一个元素是否在指定的范围之内

    2.方便数学上的集合操作

    3.对序列数据类型中的重复元素进行去除(去重):

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

    s = set(lst)             转换成集合 直接去重

    lst = list(s)             去重完毕后重新转化为列表

  • 相关阅读:
    Educational Codeforces Round 64(ECR64)
    [网络流]BZOJ4657 tower 最小割约束
    009:JSON
    008:数据类型
    007:MySQL SSL
    006:多实例安装
    005: 存储引擎介绍
    004:MySQL数据库体系结构
    003:MySQL账号创建授权以及Workbench
    002:MySQL升级以及访问连接
  • 原文地址:https://www.cnblogs.com/biulo/p/10493345.html
Copyright © 2011-2022 走看看