zoukankan      html  css  js  c++  java
  • <转>python列表、元组、集合、字典、json相互转换以及其他基础入门

    
    

       列表元组转其他

     
    # 列表转集合(去重)
    list1 = [6, 7, 7, 8, 8, 9]
    set(list1)
    # {6, 7, 8, 9}
     
    #两个列表转字典
    list1 = ['key1','key2','key3']
    list2 = ['1','2','3']
    dict(zip(list1,list2))
    # {'key1': '1', 'key2': '2', 'key3': '3'}
     
    #嵌套列表转字典
    list3 = [['key1','value1'],['key2','value2'],['key3','value3']]
    dict(list3)
    # {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
     
    # 列表、元组转字符串
    list2 = ['a', 'a', 'b']
    ''.join(list2)
    # 'aab'
     
    tup1 = ('a', 'a', 'b')
    ''.join(tup1)
    # 'aab'

    JSON和字典之间相互转化

    1.首先引入json模块

    # 引入json模块
    import json

    2.转换

    #JSON到字典转化:
    dictinfo = json.loads(json_str) # 输出dict类型
    字典到JSON转化:
    jsoninfo = json.dumps(dict) # 输出str类型
     

    用json把字典序列化到文件中

    #写程序最好是dump一次和load一次,可以存好几个文件
    import json
    info={'name':'Tom',
          'age':'12',
          'job':'work',}
    f=open('file1.txt','w')
    f.write(json.dumps(info))
    f.close()
     
    把字典存入文件中
    1
    2
    3
    4
    5
    6
    info={'name':'Tom',
          'age':'12',
          'job':'work',}
    f=open('test.txt','w')
    f.write(str(info))
    f.close()
    json将字典反序化读出来
    1
    2
    3
    4
    5
    6
    import json
    f=open('file1.txt','r')
    data=json.loads(f.read())
    f.close()
    print(data)
    print(data['name'])
    函数写到文件中用Pickle,不用json序列化
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    import pickle
    #pickle在本语言里有Python 在Java里是不认识pickle
    def func(type):#函数
        print('in the func',type)
    info = {'name''Tom',
            'age''12',
            'job''work',
            'res': func ,}
     
    f=open('file3.txt','wb')
    #f.write(pickle.dumps(info))
    #相等于
    pickle.dump(info,f)
    f.close()
    函数反序列用Pickle,不用json序列化
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import pickle
    def func(type):#函数
        print('in the func',type)
        print('内容不一样',type)#反序列的时候内容不一样
    f=open('file3.txt','rb')
    #data=pickle.loads(f.read()) 这句话相等于下面
    data=pickle.load(f)
    f.close()
    print(data)
    print(data['name'])
    print(data['res']('string'))
  • 相关阅读:
    Codeforces Round #555 (Div. 3) A B C1(很水的题目)
    蓝桥杯国赛之阶乘位数
    POJ-1258 Agri-Net(最小生成树)
    昂贵的聘礼(枚举区间+最短路)
    地斗主(矩阵快速幂)
    救救兔子(二分)
    shell编程之sed编辑器&gawk程序
    typedef&nbsp;struct与struct的区别
    iOS内存管理编程指南
    Object&nbsp;c&nbsp;基础知识
  • 原文地址:https://www.cnblogs.com/donke/p/9974097.html
Copyright © 2011-2022 走看看