View the step-by-step solution to:

# Python 3 Linked List Delete Element Problem Implement a method, remove_first which takes a linked list as a parameter and removes the first element.

Python 3 Linked List Delete Element Problem

Implement a method, remove_first which takes a linked list as a parameter and removes the first element. Make sure to check all possible cases for the possible sizes of the linked list. Use assert statement(s).

def remove_first(s):

''' Removes the first node in the given list

[3, [2, [1, 'empty']]]

'empty'

'''

Implement a method, remove_last which takes a linked list as a parameter and removes the last element. Make sure to check all possible cases for the possible sizes of the linked list. Use assert statement(s).

def remove_last(s):

''' Removes the last node in the given list

[4, [3, [2, 'empty']]]

'empty'

'''

Implement delete_at which takes a linked-list, and a deletion index and returns the reconstructed list with the element at the given location removed.

def delete_at(s, idx):

'''Delete element in a given list at provided index.

Please fill in the provided assert statements and do not

modify the printed msg.

>>> delete_at(lst, 0)

[2, [1, 'empty']]

>>> delete_at(lst, 2)

[3, [2, 'empty']]

'''

IMPORTANT Information:

empty = 'empty'

"""s is a linked list if it is empty or a (first, rest) pair."""

return s == empty or (len(s) == 2 and is_link(s[1]))

"""Construct a linked list from its first element and the rest."""

return [first, rest]

def first(s):

"""Return the first element of a linked list s."""

assert s != empty, "empty linked list has no first element."

return s[0]

def rest(s):

"""Return the rest of the elements of a linked list s."""

assert s != empty, "empty linked list has no rest."

return s[1]

# define length

"""Return the length of linked list s."""

length = 0

while s != empty:

s, length = rest(s), length + 1

return length

# getitem

def getitem(s, i):

"""Return the element at index i of linked list s."""

while i > 0:

s, i = rest(s), i - 1

return first(s)

OUTPUT: remove first: [3, [2, [1, 'empty']]] remove... View the full answer

1 comment
• is there a way to avoid using insert function in the problem?
• guchengming
• May 09, 2018 at 11:14pm

### Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

### -

Educational Resources
• ### -

Study Documents

Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

Browse Documents