python 想到一个好玩的东西 就是如何将一个长得像字典的列表转换为字典
像是这一个列表 有没有什么简单的方法直接转换为字典呢
[{'ip': '120.43.152.117', 'expire_time': '2021-03-30 18:21:44', 'port': 4226}, {'ip': '175.7.220.38', 'expire_time': '2021-03-30 18:05:48', 'port': 4256}, {'ip': '125.121.168.222', 'expire_time': '2021-03-30 18:21:44', 'port': 4204}, {'ip': '183.92.95.209', 'expire_time': '2021-03-30 18:21:44', 'port': 4213}, {'ip': '115.226.249.225', 'expire_time': '2021-03-30 18:07:13', 'port': 4230}, {'ip': '183.151.106.66', 'expire_time': '2021-03-30 18:21:44', 'port': 4210}, {'ip': '1.182.53.181', 'expire_time': '2021-03-30 18:21:44', 'port': 4213}, {'ip': '110.88.31.69', 'expire_time': '2021-03-30 18:21:44', 'port': 4245}, {'ip': '223.215.119.63', 'expire_time': '2021-03-30 18:21:42', 'port': 4245}, {'ip': '110.90.222.111', 'expire_time': '2021-03-30 18:21:44', 'port': 4245}]
试下这段代码:
lis = [{'ip': '120.43.152.117', 'expire_time': '2021-03-30 18:21:44', 'port': 4226}, {'ip': '175.7.220.38', 'expire_time': '2021-03-30 18:05:48', 'port': 4256}, {'ip': '125.121.168.222', 'expire_time': '2021-03-30 18:21:44', 'port': 4204}, {'ip': '183.92.95.209', 'expire_time': '2021-03-30 18:21:44', 'port': 4213}, {'ip': '115.226.249.225', 'expire_time': '2021-03-30 18:07:13', 'port': 4230}, {'ip': '183.151.106.66', 'expire_time': '2021-03-30 18:21:44', 'port': 4210}, {'ip': '1.182.53.181', 'expire_time': '2021-03-30 18:21:44', 'port': 4213}, {'ip': '110.88.31.69', 'expire_time': '2021-03-30 18:21:44', 'port': 4245}, {'ip': '223.215.119.63', 'expire_time': '2021-03-30 18:21:42', 'port': 4245}, {'ip': '110.90.222.111', 'expire_time': '2021-03-30 18:21:44', 'port': 4245}]
import pandas as pd
import numpy as np
data = pd.DataFrame(lis)
result = data.set_index('ip').T.to_dict('list')
转换成字典列表
print(result)
{'120.43.152.117': ['2021-03-30 18:21:44', 4226], '175.7.220.38': ['2021-03-30 18:05:48', 4256], '125.121.168.222': ['2021-03-30 18:21:44', 4204], '183.92.95.209': ['2021-03-30 18:21:44', 4213], '115.226.249.225': ['2021-03-30 18:07:13', 4230], '183.151.106.66': ['2021-03-30 18:21:44', 4210], '1.182.53.181': ['2021-03-30 18:21:44', 4213], '110.88.31.69': ['2021-03-30 18:21:44', 4245], '223.215.119.63': ['2021-03-30 18:21:42', 4245], '110.90.222.111': ['2021-03-30 18:21:44', 4245]}
遍历这个list,里面不就是一个个字典吗,把这里面的字典合并成一个就ok了,但是你的key一样的话需要处理下,key一样的value合并,或者value写成list。