]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-41774: Add programming FAQ entry (GH-22402)
authorTerry Jan Reedy <tjreedy@udel.edu>
Tue, 29 Sep 2020 05:02:44 +0000 (01:02 -0400)
committerGitHub <noreply@github.com>
Tue, 29 Sep 2020 05:02:44 +0000 (01:02 -0400)
In the "Sequences (Tuples/Lists)" section, add
"How do you remove multiple items from a list".

Doc/faq/programming.rst
Misc/NEWS.d/next/Documentation/2020-09-24-15-35-13.bpo-41774.5IqdGP.rst [new file with mode: 0644]

index 4f4ea8b18176c26f7852b45f9f9ef256901ae872..76ae4d260fad4682ca606d405abc4b8f0a7512f0 100644 (file)
@@ -1164,6 +1164,21 @@ This converts the list into a set, thereby removing duplicates, and then back
 into a list.
 
 
+How do you remove multiple items from a list
+--------------------------------------------
+
+As with removing duplicates, explicitly iterating in reverse with a
+delete condition is one possibility.  However, it is easier and faster
+to use slice replacement with an implicit or explicit forward iteration.
+Here are three variations.::
+
+   mylist[:] = filter(keep_function, mylist)
+   mylist[:] = (x for x in mylist if keep_condition)
+   mylist[:] = [x for x in mylist if keep_condition]
+
+If space is not an issue, the list comprehension may be fastest.
+
+
 How do you make an array in Python?
 -----------------------------------
 
diff --git a/Misc/NEWS.d/next/Documentation/2020-09-24-15-35-13.bpo-41774.5IqdGP.rst b/Misc/NEWS.d/next/Documentation/2020-09-24-15-35-13.bpo-41774.5IqdGP.rst
new file mode 100644 (file)
index 0000000..af8e024
--- /dev/null
@@ -0,0 +1,2 @@
+In Programming FAQ "Sequences (Tuples/Lists)" section, add "How do you
+remove multiple items from a list".