Skip to content

Instantly share code, notes, and snippets.

@babjo
Last active July 17, 2016 01:01
Show Gist options
  • Save babjo/ae9eabc99a41e13b6a64a42cabce86d7 to your computer and use it in GitHub Desktop.
Save babjo/ae9eabc99a41e13b6a64a42cabce86d7 to your computer and use it in GitHub Desktop.
# Define a procedure, add_to_index,
# that takes 3 inputs:

# - an index: [[<keyword>,[<url>,...]],...]
# - a keyword: String
# - a url: String

# If the keyword is already
# in the index, add the url
# to the list of urls associated
# with that keyword.

# If the keyword is not in the index,
# add an entry to the index: [keyword,[url]]

index = []

def add_to_index(index,keyword,url):
    target = None
    for el in index:
        if el[0] == keyword:
            target = el
            break
    
    if target is None :
        index.append([keyword, [url]])
    else:
        target[1].append(url)

add_to_index(index,'udacity','http://udacity.com')
add_to_index(index,'computing','http://acm.org')
add_to_index(index,'udacity','http://npr.org')
print index
#>>> [['udacity', ['http://udacity.com', 'http://npr.org']], 
#>>> ['computing', ['http://acm.org']]]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment