Python 2.7 text adventure map and movement
Being more familiar with appropriate data structures is going to help a lot here. I will suggest a better map structure that will make things less confusing at the end. First I want to suggest an intermediate cleanup which will let me think and talk about things more easily.

Room class: You have class for Weapon, Enemy, etc. It will help a lot to make a class to contain an element of the map. I'm going to call it Room. Maybe there's a term more appropriate for your game. Then your initialization could look something like this. (I'm leaving out the connects field for now. Hang on.)

map.append(Room(name="The Courtyard of Castle Darkspur",
                info="A description of the room"))


Turning it into a graph: Now we have a nicer way to link rooms. Without going into too much detail, a graph is a common way to represent specific connections between objects. I'm sure there's a cool graph library we could use, but this should be all we need to get us going:

start_room = Room(name="The Courtyard...."
                  # etc 
                  )
castle_entry = Room(name="The castle entry")
start_room.add_connection(Direction.North, castle_entry)


And add_connection just has to look like this:

def add_connection(self, direction, room):
    self.connects[direction] = room


(direction is an Enum, by the way) 

Now you can go straight to the connected room without worrying about indexing

But now what about all the local variables? This still isn't great. You're probably going to have a lot of local variables lying around, and this is mixing data and code pretty heavily. A cleaner solution would be to store the map in a .txt file. It might look something like this:

Room
Name: The Courtyard of Caslte Darkspur
Id: courtyard-darkspur
Info: Courtyard descr.
Weapons: rusty-knife-simple
connects: South, castle-entry

Room
Name: The castle entry
Id: castle-entry
Connects: North, room-entry


You would need a class or function to first parse each item individually, and then use the id fields to create all the links between nodes. Common ways to store configuration data like this are JSON (mainly) or XML.

You could also choose a hybrid of these approaches. Perhaps a class you could use in the REPL to dynamically construct a part of the map, then it saves it to your configuration file when you're done.