Vivado operate no just simple string, but things named "collection". To be honest, not only Xilinx use this terminology, its typical for FPGA/ASIC tools.
Collection means that when you get a result of command, like get_* , it will return not a simple list, but collection (which looks like a typical Tcl list or string), but in fact it will contains special "tag" relative to objects class (like ports, pins, bels, nets etc).
If you used get_* command and saved result into Tcl variable, this variable will also contains this "tag" and no reason to identify this objects again using get_* command.