• day3 字典,集合,文件


    一.深浅copy

      浅copy只copy第一层,不copy第二层。copy后,第一层指向不同内存地址。第二层指向相同的内存地址。

       导入copy模块,deepcopy深copy。deepcopy后,均指向不同的内存地址,占用硬盘空间。

       深copy不常用。

    二. 字典操作

    字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

    语法:

    info = {
        'stu1101': "TengLan Wu",
        'stu1102': "LongZe Luola",
        'stu1103': "XiaoZe Maliya",
    }

    字典的特性:

    • dict是无序的
    • key必须是唯一的,so 天生去重

    增加

     View Code

    修改

     View Code

    删除

     View Code

    查找

     View Code

    多级字典嵌套及操作

     View Code

    其它姿势

     View Code

    循环dict 

    复制代码
    #方法1
    for key in info:
        print(key,info[key])
    
    #方法2
    for k,v in info.items(): #会先把dict转成list,数据里大时莫用
        print(k,v)
    复制代码

    三.集合操作

    集合是一个无序的,不重复的数据组合,它的主要作用如下:

    • 去重,把一个列表变成集合,就自动去重了
    • 关系测试,测试两组数据之前的交集、差集、并集等关系

    常用操作

     View Code

    四.文件操作

    对文件操作流程

    1. 打开文件,得到文件句柄并赋值给一个变量
    2. 通过句柄对文件进行操作
    3. 关闭文件 
    • r,只读模式(默认)。
    • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
    • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

    "+" 表示可以同时读写某个文件

    • r+,可读写文件。【可读;可写;可追加】
    • w+,写读
    • a+,同a

    "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)

    • rU
    • r+U

    "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    • rb
    • wb
    • ab

    基本操作:

      f=open("wenjian","r")    读,一行一行读,占内存

      f=open("wenjian","w")       写,创建新文件,覆盖原文件

      f=open("wenjian","a")   追加,在最后写入

      f=open("wenjian","r+")  以读和追加的方式打开

      f=open("wenjian","w+")   创建文件,以追加方式写入

      f=open("wenjian","a+")  可读,在后面追加

      f=open("wenjian","wb")  以二进制方式读文件

      print(f.readlines())       将文件中每一行当做一个元素输出

      print(f.seek())       打印指针(光标)所在位置(按字符计算)

      f.encoding          打印文件编码

      f.isatty           判断是否为终端设备

      f.name           打印文件名字

      f.seekable         判断是否为可移动光标文件,返回True/Flase

      f.flush()          刷新到硬盘中

      f.closed          判断文件是否关闭  

      f.truncate()        从头截断几个,与光标位置无关

     

      

      

      

  • 相关阅读:
    弄懂Java为何只有值传递
    反转链表进阶
    剑指Offer-16:合并两个有序链表
    剑指Offer-15:反转链表
    剑指Offer-14:输入一个链表,输出该链表中倒数第k个结点。
    剑指Offer-13:调整数组位置使奇数位于偶数前面
    Java实现二分查找
    LDAP
    关于Prometheus运维实践项目
    LDAP-openldap服务部署和测试(YUM安装)
  • 原文地址:https://www.cnblogs.com/yizhixiaowenzi/p/6010129.html
Copyright © 2020-2023  润新知