python - Please tell this newbie what the difference is between these two list outputs? -
i struggling , have tracked down difference between 2 lists inside code: python debugger:
(pdb) values ['thing1', 'thing2', 'thing3'] (pdb) values2 [['thing1', 'thing2', 'thing3']] i do not want double brackets, mean , how rid of them?
'values' creation by: values = ['thing1','thing2','thing3'] 'values2' creation by:
for report in report.objects.filter(id=id):         values2.append([str(report.name), str(report.subject), str(report.description)]) why getting difference , how can values2 values ?
don't think of "double brackets". think of 2 sets of single brackets, 1 inside other. set of brackets means have list. 2 sets of single brackets means have 2 lists. 1 set of single brackets inside means have list inside list.
this because value appended list, because did values2.append([...]).  [...] list, appended list; is, put nested list inside values2.
if don't want that, do:
values2.extend([str(report.name), str(report.subject), str(report.description)]) extend add each element of list separate element, instead of adding whole list 1 element.  (whether work in larger context of program depends on values2.)
Comments
Post a Comment