If we are assuming that you are writing a text-adventure game, perhaps you should consider a more flexible structure as well. For example, each room can have a list of "loose objects" (that is, anything that can potentially be picked up/taken).

Each "action" (e.g "take", "drop" or "go") should have it's own function. In the function for "take" you compare the user-given string ("torch") with the list of items in the room, and if it's a match, remove it from the list of items in the room, and add it to the user's list of objects.

Writing a complete text-adventure can be quite complicated, but it's very good practice for learning programming - much of which is useful for both game and general programming.

--
Mats