python 两个list合并成字典

第一个list:['PID','USERNAME','THR','PRI','NICE','SIZE','RES','STATE','TIME','WCPU','COMM... 第一个list:
['PID', 'USERNAME', 'THR', 'PRI', 'NICE', 'SIZE', 'RES', 'STATE', 'TIME', 'WCPU', 'COMMAND']
第二个list:
['32', 'root', '1', '-36', '-155', '0K', '16K', 'WAIT', '0:00', '0.00%', 'swi3:', 'ip6opt', 'ipopt']
分别一一对应:第二个list中'swi3:', 'ip6opt', 'ipopt'作为一个元素对应第一个list中的COMMAND
转换字典格式:dict={'PID':'32','USERNAME':'root',......,'COMMAND':'swi3: ip6opt ipopt'}
怎么把这两个list转换成一个dict
展开
 我来答
willenhu
2017-07-19 · TA获得超过1771个赞
知道小有建树答主
回答量:865
采纳率:66%
帮助的人:242万
展开全部

代码如下:

keys = ['PID', 'USERNAME', 'THR', 'PRI', 'NICE', 'SIZE', 'RES', 'STATE', 'TIME', 'WCPU', 'COMMAND']
items = ['32', 'root', '1', '-36', '-155', '0K', '16K', 'WAIT', '0:00', '0.00%', 'swi3:', 'ip6opt', 'ipopt']

dt = dict()
keys_len = len(keys)
items_len = len(items)

# 先读取除最后一个key写入字典
for i in range(keys_len-1):
    dt[keys[i]] = items[i]

# 读取最后一个key和值写入字典
command_key = keys[i]
command_text = []
for i in range(keys_len-1,items_len):
    command_text.append(items[i]) 
dt[command_key] = ' '.join(command_text)

# 输入字典结果
print(dt)

输出如下:

{'NICE': '-155',
 'PID': '32',
 'PRI': '-36',
 'RES': '16K',
 'SIZE': '0K',
 'STATE': 'WAIT',
 'THR': '1',
 'TIME': '0:00',
 'USERNAME': 'root',
 'WCPU': 'swi3: ip6opt ipopt'}
t59616
2016-08-10 · TA获得超过784个赞
知道小有建树答主
回答量:319
采纳率:50%
帮助的人:339万
展开全部

先对list2行进处理,然后再合并

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']
ls3 = ls2[0:10]
ls3.append(" ".join(ls2[10:]))
d = {}
for i in range(len(ls1)):
d[ls1[i]] = ls3[i]
print d
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-02-08
展开全部
l1 = ['PID', 'USERNAME', 'THR', 'PRI', 'NICE', 'SIZE', 'RES', 'STATE', 'TIME', 'WCPU', 'COMMAND']
l2 = ['32', 'root', '1', '-36', '-155', '0K', '16K', 'WAIT', '0:00', '0.00%', 'swi3:', 'ip6opt', 'ipopt']
d=dict(zip(l1[:-1],l2[:-3]))
d[l1[-1]]=l2[-3:]
print(d)

{'COMMAND': ['swi3:', 'ip6opt', 'ipopt'],
 'NICE': '-155',
 'PID': '32',
 'PRI': '-36',
 'RES': '16K',
 'SIZE': '0K',
 'STATE': 'WAIT',
 'THR': '1',
 'TIME': '0:00',
 'USERNAME': 'root',
 'WCPU': '0.00%'}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式