• python基础===两个list合并成一个dict的方法


    def Run():
        list2 = [1, 2, 3, 4, 5 ];
        list3 = ["a", "b", "c", "d","e"];
        dict={};
        i=0;
        length=len(list2);    
        while i<length:
            'dict[list2[i]]=list3[i];这种方法也可以'
            dit={list2[i]:list3[i]};
            dict.update(dit);
            i+=1;
        return dict;
    
    if __name__ == '__main__':
        print Run();

    图上代码,可以实现不使用内置函数的操作!

    使用内置函数的话,zip的方法:

    >>> l1=[1,2,3,4,5,6]
    >>> l2=[4,5,6,7,8,9]
    >>> print(dict(zip(l1,l2)))
    {1: 4, 2: 5, 3: 6, 4: 7, 5: 8, 6: 9}
    

     那么还有一种情况,当两个list的长度不一样,如果要组成dict的话,怎么办呢?按逻辑处理是这样的:

    >>> ls1 = ['PID', 'USERNAME', 'THR', 'PRI', 'NICE', 'SIZE', 'RES', 'STATE', 'TIME', 'WCPU', 'COMMAND']
    >>> ls2 = ['32', 'root', '1', '-36', '-155', '0K', '16K', 'WAIT', '0:00', '0.00%', 'swi3:', 'ip6opt', 'ipopt']
    >>>#先让ls2和ls1等长,然后再zip
    >>> ls3=ls2[0:len(ls1)]
    >>> ls3
    ['32', 'root', '1', '-36', '-155', '0K', '16K', 'WAIT', '0:00', '0.00%', 'swi3:']
    >>>
    >>>print(dict(zip(ls1,ls3)))
    {'PID': '32', 'USERNAME': 'root', 'THR': '1', 'PRI': '-36', 'NICE': '-155', 'SIZE': '0K', 'RES': '16K', 'STATE': 'WAIT', 'TIME': '0:00', 'WCPU': '0.00%', 'COMMAND': 'swi3:'}
    

    但是实际上,我们直接执行这个就可以:

    >>> ls1=[1,2,3,4,5,6,7]
    >>> ls2=[4,5,89,1]
    >>> print(dict(zip(ls1,ls2)))
    {1: 4, 2: 5, 3: 89, 4: 1}
    

     它会自动的匹配!自动的省去多余的部分!

    顺便提一下

    如果有任何问题,你可以在这里找到我 ,软件测试交流qq群,209092584

  • 相关阅读:
    Sublime Text 无法使用Package Control或插件安装失败的解决方法
    phpstorm破解
    require
    在线支付
    解决华为手机用rem单位,内容超出屏幕宽度问题
    JS如何判断是不是iphoneX
    iPhoneX页面安全区域与内容重叠问题
    .NET 大数据量并发解决方案
    js 弹出div窗口 可移动 可关闭
    colgroup 整行变色
  • 原文地址:https://www.cnblogs.com/botoo/p/7381317.html
Copyright © 2020-2023  润新知