List creation, manipulation, user interaction, loops, and just winging some fun stuff for a game
As a beginner Pythonista, one of the easiest ways to get tips on writing Python is to run your script(s) through pep8. That said, here are some non-PEP8-related tips:


Avoid pre-processing constant data on every run. After deleting what I assume are non-applicable spells simply replace the original array with the output of print(spells).
Reusing variables like you use spells and need is a code smell - it's hard to read the code and understand immediately what the type is at any given point. Instead you can either use a separate variable to avoid confusion or (in the need case) reverse the random/int check:

if need == 'r':
    […]
else:
    try:
        spell_number = int(need)
    except ValueError:
        print("Arr or a number, dammit!")

randint "[returns] a random integer N such that a &lt;= N &lt;= b." So you should print(spells[randint(0, len(spells)-1)]).
Your code is screaming for a class like Spellbook to reuse within other code.
Ditto for a main function with some argparse magic to enable scripting.
An IDE like PyCharm will do spell checking for you (snarky slang not included in the last community edition).