Skip to content

Conversation

@AdityaKrishnaProjects
Copy link

@AdityaKrishnaProjects AdityaKrishnaProjects commented Oct 8, 2024

Apologies if the formatting for this pull request isn't correct (I couldn't find a valid issue to use for the issue number reference in title, and am not sure how to apply the skip-issue label).

In the description for 5.1.2. Using Lists as Queues, within the Data Structures section of the tutorial, the fact that appending and popping to the left of lists is inefficient is mentioned, and that one should instead use the deque object which was designed to have fast appends and pops from both ends.

But then in the example code we only have an example for how to remove elements from the left of the list and not add them. It's relatively straightforward that the method is appendleft(), but on first read I assumed that there was no implementation for this in the deque object as I didn't see it in the examples and it seemed to make intuitive sense that one shouldn't add elements to the start of queue.


📚 Documentation preview 📚: https://cpython-previews--125138.org.readthedocs.build/en/125138/tutorial/datastructures.html#using-lists-as-queues

Apologies if the formatting for this pull request isn't correct.

In the description for 5.1.2. Using Lists as Queues, within the Data Structures section of the tutorial, the fact that appending and popping to the left of lists is inefficient is mentioned, and that one should instead use the deque object which was designed to have fast appends and pops from both ends. 

But then in the example code we only have an example for how to remove elements from the left of the list and not add them. It's relatively straightforward that the method is appendleft(), but on first read I assumed that there was no implementation for this in the deque object as I didn't see it in the examples and it seemed to make intuitive sense that one shouldn't add elements to the start of queue.
@ghost
Copy link

ghost commented Oct 8, 2024

All commit authors signed the Contributor License Agreement.
CLA signed

@bedevere-app bedevere-app bot added docs Documentation in the Doc dir skip news awaiting review labels Oct 8, 2024
@AdityaKrishnaProjects AdityaKrishnaProjects changed the title docs: Tutorial: Update 5.1.2. Using Lists as Queues to include appendleft() Docs: Tutorial: Update 5.1.2. Using Lists as Queues to include appendleft() Oct 8, 2024
@AdityaKrishnaProjects AdityaKrishnaProjects changed the title Docs: Tutorial: Update 5.1.2. Using Lists as Queues to include appendleft() gh-125138: Tutorial: Update 5.1.2. Using Lists as Queues to include appendleft() Oct 25, 2024
@StanFromIreland StanFromIreland changed the title gh-125138: Tutorial: Update 5.1.2. Using Lists as Queues to include appendleft() Tutorial: Update 5.1.2. Using Lists as Queues to include appendleft() Dec 19, 2025
'John'
>>> queue # Remaining queue in order of arrival
deque(['Michael', 'Terry', 'Graham'])
>>> queue.appendleft("John") # John is added to front of queue
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
>>> queue.appendleft("John") # John is added to front of queue
>>> queue.appendleft("John") # John never actually left, add him back

The comments describe a situation where people are coming/going.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

2 participants