been assigned when referencedbut they are created when first assigned in factvariable names can be processed as dictionary keys if you wish (they're made visible in module namespace or stack-frame dictionaries) {' ': ' ': ' ': [' ' [' 'traceback (innermost last)file ""line in keyerrord [' ' {' ' ' ' ' ' ' ' [ [ traceback (innermost last)file ""line in indexerrorlist index out of range [ traceback (innermost last)file ""line in indexerrorlist assignment index out of range generic operations question answersthe operator doesn' work on different/mixed types ( string listlist tupledoesn' work for dictionariesas they aren' sequences the append method works only for listsnot stringsand keys works only on dictionaries append assumes its target is mutablesince it' an in-place extensionstrings are immutable slicing and concatenation always return new object of the same type as the objects processed" traceback (innermost last)file ""line in typeerrorillegal argument type for built-in operation {{traceback (innermost last)file ""line in typeerrorbad operand type(sfor [append( "append(' 'traceback (innermost last)file ""line in attributeerrorattribute-less object part iitypes and operations