将长得像字典的列表转换为字典
有些情况下,我们可能会遇到一个列表,其元素看起来像字典,但实际上不是字典。例如:
a = [{'ip': '123.181.150.193', 'port': 4241}, {'ip': '114.238.223.98', 'port': 4237}, {'ip': '114.233.50.103', 'port': 4257}, {'ip': '221.8.243.135', 'port': 4275}, {'ip': '183.147.208.157', 'port': 4234}, {'ip': '117.24.80.213', 'port': 4228}, {'ip': '111.127.117.242', 'port': 4285}, {'ip': '27.150.95.69', 'port': 4213}, {'ip': '114.238.197.108', 'port': 4247}, {'ip': '49.74.57.244', 'port': 4268}]
为了将此列表有效地转换为字典,我们可以使用以下步骤:
- 提取列表中所有 ip 地址并将其存储在一个单独的列表中:
l_1 = [x['ip'] for x in a]
- 提取列表中所有端口并将其存储在另一个单独的列表中:
l_2 = [x['port'] for x in a]
- 使用 dict(zip(l_1, l_2)) 创建字典,其中 l_1 是 ip 地址列表,l_2 是端口列表:
result = dict(zip(l_1, l_2))
执行这些步骤后,result 将是一个字典,密钥是 ip 地址,值是相应的端口:
{'123.181.150.193': 4241, '114.238.223.98': 4237, '114.233.50.103': 4257, '221.8.243.135': 4275, '183.147.208.157': 4234, '117.24.80.213': 4228, '111.127.117.242': 4285, '27.150.95.69': 4213, '114.238.197.108': 4247, '49.74.57.244': 4268}
以上就是如何将长得像字典的列表转换为真正的字典?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com