What are you trying to convert to a string? the variable name? the value assigned to it?
The list you have at the top is a list with a single element, that element being a dictionary that maps variable names to values. So when you do mylist[0]['telemetryAt'], the first set of brackets indexes into the list, and the second performs a dictionary lookup for the key 'telemetryAt', which IS of type "string". As you say, this works.
However, then you refer to the following:
{"up":0.088,"h":41.0,"di":0.144}
as though it were also a string. It's not, however--it's a dictionary with string keys and floating point values--and I don't see how this relates in any way to "mylist". You could certainly perform lookups into this just like with the dict in "mylist", like so:
mydict = {"up":0.088,"h":41.0,"di":0.144}
di_val = mydict["di"] //di_val is now 0.144
There is no need to put it inside a list if that's not already how it is provided to the code you're writing. There also is no reason why you would want to "split" a dictionary on one of its delimiters (which, in any case, are internal details of its printed representation, that you as the USER of this abstraction should not be trying to work with directly)--its key/value pairs must be kept together if it is to function properly. And finally, "split" does NOT make non-strings into strings--in fact it TAKES strings and outputs things that are NOT strings, namely LISTS of strings.
It sounds like you are new to Python and confused about what lists, dicts, and strings are. I recommend you read through the Python tutorials before writing this code--you may fiddle enough to get something that works for the moment for a reason other than why you think it does, and then it mysteriously breaks sometime.