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}

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

 

这里有一个python爱好者的学习交流群: 152376662 ,如果你有兴趣,欢迎加进来!

转载于:https://www.cnblogs.com/botoo/p/7381317.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值