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 展开
['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 展开
3个回答
展开全部
代码如下:
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'}
展开全部
先对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%'}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询