The @ operator expects a list structure (similar to an array on classic programming languages).
Whenever you create a list or a dictionary, you assign that variable to a $ variable.
You can always access a list variable (@) or a dictionary variable (&) using the simple $ variable operator. That however will print the whole content of the variable.
For accessing items in a list or key/value pairs in a dictionary, you must use its corresponding operator. It looks like this:
${list_variable}= Create List item1 item2 item3
${dictionary_variable}= Create Dictionary key1=value1 key2=value2
And it'll work fine doing this:
Log ${list_variable}
Log ${dictionary_variable}
But for accessing its content as a data structure, you'll need to do this:
Log @{list_variable}[0] # prints the first item
Log &{dictionary_variable}[key1] # prints the value assigned to key1
And so on