【发布时间】:2017-05-16 07:43:16
【问题描述】:
我真的对这部分代码感到困惑:
newip = []
c = Counter()
for key, group in groupby(logfile, key=lambda e: e.split('.',1)[0]):
for entry in group:
c.update(re.findall(r'[0-9]+(?:\.[0-9]+){3}', entry))
newip.extend(ip for ip, cnt in c.items() if cnt > 10)
如何将这两行分成多行,同时执行相同的任务?
for key, group in groupby(logfile, key=lambda e: e.split('.',1)[0]):
...
newip.extend(ip for ip, cnt in c.items() if cnt > 10)
日志文件:
12/30-04:09:41.070967 [**] [1:10000001:1] snort alert [1:0000001] [**] [classification ID: 0] [Priority ID: 0] {ICMP} 192.168.232.2:41676 -> 192.168.248.2:21
12/30-04:09:41.070967 [**] [1:10000001:1] snort alert [1:0000001] [**] [classification ID: 0] [Priority ID: 0] {ICMP} 192.168.232.2:41673 -> 192.168.248.2:21
现在,我有两个问题:
- 请解释这两行的具体作用。
- 如何在执行相同任务的同时将它们分成多行?
感谢和问候。
【问题讨论】:
-
为什么不问问作者?
-
@TigerhawkT3 不可用
-
如果这是一本书,我相信你会在那里找到答案。
标签: python if-statement for-loop lambda conditional