summaryrefslogtreecommitdiffstats
path: root/Doc/faq
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2020-09-29 05:27:06 (GMT)
committerGitHub <noreply@github.com>2020-09-29 05:27:06 (GMT)
commit868c8e41eb1d7dc032679ae06e62c0d60edd7725 (patch)
treef0e11312b8233ead5dd5c8f6588e4a35858568a5 /Doc/faq
parentcca896e13b230a934fdb709b7f10c5451ffc25ba (diff)
downloadcpython-868c8e41eb1d7dc032679ae06e62c0d60edd7725.zip
cpython-868c8e41eb1d7dc032679ae06e62c0d60edd7725.tar.gz
cpython-868c8e41eb1d7dc032679ae06e62c0d60edd7725.tar.bz2
bpo-41774: Add programming FAQ entry (GH-22402)
In the "Sequences (Tuples/Lists)" section, add "How do you remove multiple items from a list". (cherry picked from commit 5b0181d1f6474c2cb9b80bdaf3bc56a78bf5fbe7) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Diffstat (limited to 'Doc/faq')
-rw-r--r--Doc/faq/programming.rst15
1 files changed, 15 insertions, 0 deletions
diff --git a/Doc/faq/programming.rst b/Doc/faq/programming.rst
index 66d210a..1435765 100644
--- a/Doc/faq/programming.rst
+++ b/Doc/faq/programming.rst
@@ -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?
-----------------------------------