Dynamo Dictionaries vs Lists

Dynamo Dictionaries vs Lists

Solve challenges faster with Dynamo

All Dynamo users will recognise the necessity of understanding and managing lists in all but the simplest of programs. In Dynamo 2.0 we now have an inbuilt option to use dictionaries to store and manage data.

A list is comprised of an index or indices and values that are always ordered. A simple example is illustrated below. The grey box is a series of indices starting from 0 and these are linked to the values. 

If I decided to sort the list alphabetically then the indices will change. This method is not particularly useful when you need to ‘tie’ data to keys. 

An example of this would be looking up values in a Uniclass2 table.


The Uniclass codes are directly linked to the descriptions; if I want to lookup a description from a code then a dictionary will be useful.

The Dynamo Script below reads the Uniclass2 data from an excel sheet and splits this into two lists. The first list is the code and the second list contain the descriptions.

A dictionary can be made from these two lists. The ‘ByKeysValues’ is used to create the dictionary and then the ‘ValueAtKey’ can be used to ‘look up’ the data.

In the example below, you can see that two values have been ‘looked up’ from the given Uniclass codes. These strings could have been extracted from Revit model elements. 

In summary, dictionaries are very powerful when data needs to be tied to specific values.

Dynamo is a visual programming tool that works with Revit. It enables designers to create visual logic to explore parametric designs and automate tasks. For more information on Autodesk’s Dynamo Studio and how to more effectively work with project teams, please get in touch with the Excitech team. 

Blog

How to Automate the Creation of Room Drawings Using the Naviate Room Drawing Tool

29 June 2022

If you are tasked with the responsibility of creating room drawings in Revit, then you know that whilst the standard Revit approach isn’t difficult, it can be extremely tedious and time consuming. This blog looks at how Naviate, the Revit add-in, now offers an innovative solution for addressing this aspect of your workflow via the use of the Room Drawing tool.

Learn more