Dynamo has the unique ability to be able to place custom nodes within themselves, creating the ability to script recursive functions without using a python node. This has a great deal of potential for advanced geometry analysis, evolutionary form-finding, and custom list operations.
The example below shows how to implement a simple for loop with this system. The variables are defined in a way similar to traditional scripting environment, with the mechanics of the loop defined within the custom node. The highlighted area in the second image shows where the user-defined script to be looped would be placed. In this example I have just added a simple script to increment a variable alongside the loop function, but just about anything could be placed here with more inputs as more variables are needed.