Python Forum
removing items from a list or group within a for loop.
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
removing items from a list or group within a for loop.
#1
Hello, hello.
I'm learning Python with a book(Python Crash Course), and at the part to code a game called 'Alien invasion'. To be more specific, currently I'm following to code bullets to be fired from a ship.

I have encountered this below.
# Get rid of bullets that have disappeared.
for bullet in self.bullets.copy():
    if bullet.rect.bottom <= 0:
        self.bullets.remove(bullet)
and, the author wrote,
"When you use a for loop with a list (or a group in Pygame), Python expects that the list will stay the same length as long as the loop is running. Because we can't remove items from a list or group within a for loop, we have to loop over a copy of the group. We use the copy() method to set up the for loop (line2), which enables us to modify bullets inside the loop."

I have 6 questions.

1 - why does Python like the length of a list to be the same within a for loop?
2 - is it common to keep the same length of list within for loop in programming languages?
3 - How does it possibly modify the original list by making a copy of it?????????!!!!!!!!!!!
4 - what about a while loop?
5 - what other solution is out there to modify a list within a for loop?
6 - is this sentence "it is not safe to modify the list during an iterative looping" the same as the sentence "Python expects that the list will stay the same length as long as the loop is running"?

Thank you in advance.
Reply


Messages In This Thread
removing items from a list or group within a for loop. - by allusernametaken - Nov-10-2019, 08:07 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to parse and group hierarchical list items from an unindented string in Python? ann23fr 0 98 Mar-27-2024, 01:16 PM
Last Post: ann23fr
  Why do I have to repeat items in list slices in order to make this work? Pythonica 7 1,259 May-22-2023, 10:39 PM
Last Post: ICanIBB
  Finding combinations of list of items (30 or so) LynnS 1 838 Jan-25-2023, 02:57 PM
Last Post: deanhystad
  For Word, Count in List (Counts.Items()) new_coder_231013 6 2,500 Jul-21-2022, 02:51 PM
Last Post: new_coder_231013
  How to get list of exactly 10 items? Mark17 1 2,406 May-26-2022, 01:37 PM
Last Post: Mark17
  how to assign items from a list to a dictionary CompleteNewb 3 1,536 Mar-19-2022, 01:25 AM
Last Post: deanhystad
  Reading list items without brackets and quotes jesse68 6 4,525 Jan-14-2022, 07:07 PM
Last Post: jesse68
Question How to gather specific second-level items from a list chatguy 2 1,517 Dec-17-2021, 05:05 PM
Last Post: chatguy
  deleting select items from a list Skaperen 13 4,396 Oct-11-2021, 01:02 AM
Last Post: Skaperen
  Getting All Items From A List knight2000 4 2,353 Sep-25-2021, 12:56 AM
Last Post: knight2000

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020