This script takes in a list of strings. It consolidates repeated values and tells you how many times equal strings are repeated.
To use, copy the code below into a standard C# script component in Grasshopper. Add an additional output called B. Output A will show all the different values found in the list, and B will show the count for each item in A for the number of times that item was found.
var names = new List<string>(); var counts = new List<int>(); foreach (string str in x) { bool exists = false; for (int i = 0; i < names.Count; i++) { if(str == names[i]) { exists = true; counts[i]++; } } if (!exists) { counts.Add(1); names.Add(str); } } A = names; B = counts;