【发布时间】:2016-05-28 15:08:59
【问题描述】:
我是 python 的新手。我在一个列表中有多个字典,我想根据值进行一些分析。我使用 lambda 的原因是因为函数并不总是预期的。我只是显示 2 个字典以供参考,但输出有时会给我多个字典。
statistics = [{"ip_dst": "10.0.0.1", "ip_proto": "icmp", "ip_src": "10.0.0.3",
"bytes": 1380, "port_dst": 0, "packets": 30, "port_src": 0},
{"ip_dst": "10.0.0.3", "ip_proto": "icmp", "ip_src": "10.0.0.1",
"bytes": 1564, "port_dst": 0, "packets": 34, "port_src": 0}]
packets = filter(lambda x: x[0]["packets"], statistics)
ip_src = filter(lambda x: x[0]["ip_src"], statistics)
ip_proto = filter(lambda x: x[0]["ip_proto"], statistics)
当我使用print 语句时,它给了我一个关键错误:0。我知道数据包的值是一个整数,而对于 ip_src/ip_proto,该值是一个字符串。
如何使用 lambdas 访问这些值?
【问题讨论】:
标签: python list dictionary lambda