python 两个list合并成字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 两个list合并成字典相关的知识,希望对你有一定的参考价值。

第一个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

代码如下:

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'

参考技术A

先对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

本回答被提问者和网友采纳
参考技术B 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%'

以上是关于python 两个list合并成字典的主要内容,如果未能解决你的问题,请参考以下文章

Python将两个字典合并成一个字典

Python根据列表中整数的位数合并成字典

python3将两个列表合并成字典的三种方法

在python中如何将两个list合并成一个list,不用for语句

python中如何将两个list合并成一个list,不用for语句

Python 实现把两个排好序的的列表合并成一个排序列表