Question: We'll say that 2 strings match if they are non-empty and their first chars are the same. Loop over the given list of non-empty strings

We'll say that 2 strings "match" if they are non-empty and their first chars are the same. Loop over the given list of non-empty strings as follows: if a string "matches" an earlier string in the list, swap the two strings in the list. When a position in the list has been swapped, it no longer matches anything and can not be swapped again. Using a dictionary, this can be solved making just one pass over the array.
all_swap(['ab', 'ac']) ['ac', 'ab']
all_swap(['ax', 'bx', 'cx', 'cy', 'by', 'ay', 'aaa', 'azz']) ['ay', 'by', 'cy', 'cx', 'bx', 'ax', 'azz', 'aaa']
all_swap(['ax', 'bx', 'ay', 'by', 'ai', 'aj', 'bx', 'by']) ['ay', 'by', 'ax', 'bx', 'aj', 'ai', 'by', 'bx']
complete in python Starter code is listed bellow do not delete the starter code
def all_swap(lst):
pass #delete this when your function has actual code
lst1 = ['ab', 'ac']
all_swap(lst1)
print(lst1) #['ac', 'ab']
lst2 = ['ax', 'bx', 'cx', 'cy', 'by', 'ay', 'aaa', 'azz']
all_swap(lst2)
print(lst2) #['ay', 'by', 'cy', 'cx', 'bx', 'ax', 'azz', 'aaa']

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!