zoukankan      html  css  js  c++  java
  • day17——其他内置函数

    zip函数:

    print(list(zip(('a','b','c'),(1,2,3))))
    p={'name':'alex','age':18,'gender':'none'}
    print(list(zip(p.keys(),p.values())))
    print(list(p.keys()))
    print(list(p.values()))
    print(list(zip(['a','b'],'12345')))
    l=[1,3,100,-1,2]
    print(max(l))
    dic={'age1':18,'age2':10}
    print(max(dic))# 比较的是key
    print(max(dic.values()))#比较的是key,但是不知道是哪个key对应的
    print(max(zip(dic.values(),dic.keys())))
    people=[{'name':'alex','age':1000},
            {'name': 'wupeiqi', 'age': 10000},
            {'name': 'yuanhao', 'age': 9000},
            {'name':'linhaifeng','age':18},
            ]
    print(max(people,key=lambda dic:dic['age']))
    # max(people,key=lambda dic:dic['age'])
    print(max(people,key=lambda dic:dic['age']))
    # ret=[]
    # for item in people:
    #     ret.append(item['age'])    #append() 方法用于在列表末尾添加新的对象
    # print(ret)
    # print(chr(400))  #打印在ASCII表中对应的字符
    # print(ord('*')) #打印在ASCII表中对应的数字
    # print(pow(10,3))
    #print(pow(3,3,2))#3*3%2
    # l=[1,2,3,4]
    # print(list(reversed(l)))  #反转
    #print(round(3.5))#四舍五入
    #print(set('hello'))#变成集合的形式
    # l='hello'
    # s1=slice(3,5)
    # s2=slice(1,4,2)
    # print(l[s1])
    # print(l[s2])
    # print(s2.start)
    # print(s2.stop)
    # print(s2.step)
    # l=[3,4,2,7,9,9]
    # print(sorted(l))#排序本质上就是比较大小,不同类型之间不可以比较
    
    people=[{'name':'alex','age':1000},
            {'name': 'wupeiqi', 'age': 10000},
            {'name': 'yuanhao', 'age': 9000},
            {'name':'linhaifeng','age':18},
            ]
    print(sorted(people,key=lambda dic:dic['age']))

     文件操作的其他模式:

    一:文件处理流程

    #1. 打开文件,得到文件句柄并赋值给一个变量
    #2. 通过句柄对文件进行操作
    #3. 关闭文件
    #1. 打开文件,得到文件句柄并赋值给一个变量
    f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r
    
    #2. 通过句柄对文件进行操作
    data=f.read()
    
    #3. 关闭文件
    f.close()

    二:打开文件的模式
    r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    f=open(r'C:UsersactivePycharmProjectsuntitledPython全栈学习The star',encoding='utf-8')
    data=f.read()
    print(f.readable())
    print(data)
    print('第一行',f.readline(),end='')#end=''表示去掉换行
    print('第二行',f.readline())
    print('第三行',f.readline())
    data=f.readlines()
    print(data)
    f.close()
    w,只写模式【不可读;不存在则创建;存在则清空内容】
    文件写操作  w 先覆盖    ,写只能写字符串形式,不能使用其他类型
    f=open(r'C:UsersactivePycharmProjectsuntitledPython全栈学习The star','w',encoding='utf-8')
    f.write('1111111
    ')
    f.write('2222222
    ')
    f.write('3333
    4444
    5555
    ')
    f.writelines(['66666
    ','77777
    '])   #传列表形式
    a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】
    文件追加操作    a
    f=open(r'C:UsersactivePycharmProjectsuntitledPython全栈学习The star','a',encoding='utf-8')
    f.write('写到文件最后')
    
    
    #1. 打开文件的模式有(默认为文本模式):
    r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    w,只写模式【不可读;不存在则创建;存在则清空内容】
    a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】
    
    #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
    rb 
    wb
    ab
    注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
    
    #3. 了解部分
    "+" 表示可以同时读写某个文件
    r+, 读写【可读,可写】
    w+,写读【可读,可写】
    a+, 写读【可读,可写】
    
    
    x, 只写模式【不可读;不存在则创建,存在则报错】
    x+ ,写读【可读,可写】
    xb
  • 相关阅读:
    Unity3D中AssetBundle应用
    C++智能指针 auto_ptr、shared_ptr、weak_ptr和unique_ptr
    C++枚举类型Enum及C++11强枚举类型用法
    C++强制类型转换
    Git使用(二、分支的创建和上传)
    Git使用(一、TortoiseGit和Gitlab在Windows下的项目库创建和上传)
    UE4行为树
    软件光栅器实现(四、OBJ文件加载)
    软件光栅器实现(三、裁剪)
    软件光栅器实现(二、VS和PS的运作,法线贴图,切空间的计算)
  • 原文地址:https://www.cnblogs.com/wuxiping2019/p/10613201.html
Copyright © 2011-2022 走看看