Modify a list from within a function

#!/usr/bin/env python

def f1( lst):
    for elm in lst:
        if elm['name'] == 'hsh1':
            lst.remove(elm)
    return 

def f2( lst):
    del lst[1]
    return 

def main():

    lst = [{ 'name': 'hsh1'},
           { 'name': 'hsh2'}, 
           { 'name': 'hsh3'}] 

    print( "starting %s" % repr( lst))

    f1( lst)

    print( "after f1 %s" % repr( lst))

    f2( lst)

    print( "after f2 %s" % repr( lst))
if __name__ == "__main__":
    main()

The output:

starting [{'name': 'hsh1'}, {'name': 'hsh2'}, {'name': 'hsh3'}]
after f1 [{'name': 'hsh2'}, {'name': 'hsh3'}]
after f2 [{'name': 'hsh2'}]