Skip to content
Advertisement

How to pass elements of a list as arguments to a function?

I’m building a simple interpreter in python and I’m having trouble handling differing numbers of arguments to my functions. My current method is to get a list of the commands/arguments as follows.

JavaScript

Then to execute com, I check to see if it is in my dictionary of command-> code mappings and if it is I call the function I have stored there. For a command with no arguments, this would look like:

JavaScript

However, if a command had multiple arguments, I would want this:

JavaScript

Is there some trick where I could pass some (or all) of the elements of my arg list to the function that I’m trying to call? Or is there a better way of implementing this without having to use Python’s Cmd class?

Advertisement

Answer

Try unpacking your list into positional arguments:

JavaScript
Advertisement