From 2d349c190ac3e65b130e0e123b018221fd2ff7d9 Mon Sep 17 00:00:00 2001
From: Guillaume Valadon <guillaume@valadon.net>
Date: Tue, 26 Jan 2016 08:25:33 +0100
Subject: [PATCH] Use list comprehension in diffplot()

---
 scapy/plist.py | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/scapy/plist.py b/scapy/plist.py
index c741ecb9..abb9412d 100644
--- a/scapy/plist.py
+++ b/scapy/plist.py
@@ -169,14 +169,13 @@ lfilter: truth function to apply to each packet to decide whether it will be dis
         """
 
         # Get the list of packets
-        l = self.res
-
-        # Apply the filter
-        if lfilter is not None:
-            l = filter(lfilter, l)
-
-        # Apply the function f to compute the difference
-        l = map(f, l[:-delay],l[delay:])
+        if lfilter is None:
+            l = [f(self.res[i], self.res[i+1])
+                    for i in xrange(len(self.res) - delay)]
+        else:
+            l = [f(self.res[i], self.res[i+1])
+                    for i in xrange(len(self.res) - delay)
+                        if lfilter(self.res[i])]
 
         # Mimic the default gnuplot output
         if kargs == {}:
-- 
GitLab