Understand how data travels between nodes, how to manage and manipulate lists, and how to use list operations to structure Revit or geometric data. Students will learn about levels, list structure, and node behavior.

💡 Goal: Understand list creation and numeric data flow.
Create a list of numbers from 1 to 10, by 2 ways and verify how Dynamo groups them as one data stream.
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Tags: #lists #dataflow #numbers
Related Lessons:
#CH3_L1 (Nodes – Place Node / Connect Inputs and Outputs)
#CH3_L5 (Lists – Create List / Sequence of Numbers)
#CH1_L3 (Parameters and Lists)

💡 Goal: Generate geometry from list data.
Use a list of X-coordinates (0 → 4) and constant Y and Z = 0 to create 5 points along the X-axis.
Five points in a straight line along X.
Tags: #geometry #points #lists #dataflow
Related Lessons:
#CH5_L1 (Points – Creating Point / Matrix of Points)
#CH3_L5 (Lists – Sequence of Numbers and Mapping to Geometry)
#CH3_L1 (Nodes – Connecting Wires and Watch Results)

💡 Goal: Extract individual items from a list.
Copy this list in the code block ["Hello", [8, [1, 2], ["Dynamo"]], 9], and get the world "Hello", and the word "Dynamo", they try to merge those strings together in one sentence.
"Hello Dynamo"
Tags: #lists #indices #geometry #accessingdata
Related Lessons:
#CH3_L5 (Lists – Index Of / Sub-Lists / Access Items)
#CH1_L4 (Programming Concepts – Indices and Logic Operations)

💡 Goal: Change item order.
Reverse the sequence of the list [1, 2, 3, 4, 5].
[5, 4, 3, 2, 1]
Tags: #lists #order #manipulation
Related Lessons:
#CH3_L5 (Lists – Reverse / Sort / Manipulate Order)
#CH1_L3 (Parameters and Lists – Data Structure Basics)

💡 Goal: Pair related data between lists.
Create one list of room names ["Living", "Kitchen", "Bath"] and another of areas [25, 15, 10]; combine them into single strings like “Living = 25”.
["Living = 25", "Kitchen = 15", "Bath = 10"]
Tags: #lists #conditional #safety
Related Lessons:
#CH3_L5 (Lists – Combine / Union / Zip Items)
#CH1_L4 (Programming Concepts – String Concatenation and Logic)

💡 Goal: Simplify multi-level list structures.
Start with [[1, 2, 3], [4, 5, 6]] and flatten it into a single list.
[1, 2, 3, 4, 5, 6]
Tags: #lists #nesting #flatten #levels
Related Lessons:
#CH3_L5 (Lists – Flatten / Chop / Deconstruct)
#CH1_L3 (Parameters and Lists – Nested Structures)

💡 Goal: Apply the same function to every item in a list.
Given [2, 4, 6, 8], double each number to produce a new list.
[4, 8, 12, 16]
Tags: #lists #map #iteration #function
Related Lessons:
#CH3_L5 (Lists – Map and Iteration through Operations)
#CH1_L4 (Programming Concepts – Loops and Iteration Logic)

💡 Goal: Explore how Dynamo handles lists of different lengths.
Create two lists of lengths 3 and 5 and connect them through a math operation; observe results for Shortest, Longest, and Cross-Product lacing.
Shortest = 3 results, Longest = 5, Cross-Product = 15.
Tags: #revit #parameters #rooms #lists
Related Lessons:
#CH4_L6 (Lacing – Shortest / Longest / Cross Product Modes)
#CH3_L5 (Lists – Sequence Matching and Structure)
#CH2_L2 (Dynamo Interface – Geometry Preview and Interaction)

💡 Goal: Combine parallel lists into geometry.
Use X-list (0 → 4) and Y-list (0 → 4) to create points at matching coordinates (X,Y).
Points (0,0), (1,1), (2,2), (3,3), (4,4).
Tags: #geometry #lists #combine #coordinates
Related Lessons:
#CH5_L1 (Points – Point.ByCoordinates)
#CH3_L5 (Lists – Combine Parallel Data)
#CH3_L1 (Nodes – Connecting Inputs and Outputs)

💡 Goal: Access structured data from the model.
Collect all walls in Revit and extract two parameters — Length and Area — as separate lists.
Equal-length lists of numeric values for each parameter.
Tags: #revit #parameters #lists #elements
Related Lessons:
#CH3_L6 (Revit Nodes – Get Parameters for Elements or Families)
#CH1_L2 (Data Types & Revit API Objects)
#CH4_L1 (Selections – Select from Revit by Type or Family)

💡 Goal: Apply list filtering logic to model data.
Using the wall length list from Task 11, filter only walls longer than 5 meters.
List of wall elements meeting the condition.
Related Lessons:
#CH4_L2 (Filtering – Filter by Condition / Parameter)
#CH3_L6 (Revit Nodes – Parameter Manipulation)
#CH1_L4 (Programming Concepts – Conditional Logic)

💡 Goal: Combine complex Revit data into a readable format.
For all walls, collect Length, Area, and Type Name parameters, then merge them into a single structured list or table for export.
[["Wall1", 5200, 14.5], ["Wall2", 3600, 9.7], ...]
Related Lessons:
#CH3_L6 (Revit Nodes – Get Multiple Parameters)
#CH3_L5 (Lists – Combine / Merge Lists)
#CH4_L10 (Reading and Writing Excel – Transposing and Exporting Data)

💡 Goal: Analyze data inside lists.
From a list of wall lengths, find the maximum and minimum values and highlight the corresponding elements in the Revit model.
One “Longest Wall” and one “Shortest Wall” highlighted.
Tags: #revit #analysis #lists #minmax
Related Lessons:
#CH3_L5 (Lists – Max / Min / Unique Items)
#CH3_L6 (Revit Nodes – Highlight Elements by Parameter Value)
#CH4_L10 (Reading and Writing Excel – Data Reporting)

💡 Goal: Combine multiple filters to refine selection.
Collect all walls, then filter those whose Area > 15 m² and Length > 5 m.
Only walls satisfying both conditions remain.
Tags: #revit #filter #andlogic #lists
Related Lessons:
#CH4_L2 (Filtering – Boolean and Compound Filters)
#CH3_L6 (Revit Nodes – Parameter Filtering in Model Data)
#CH1_L4 (Programming Concepts – And/Or Logic)
