ab zip(*zip(xy) ( ( unzip zipstill other tools in pythonsuch as the range built-in and dictionary view objectsreturn iterables instead of processing them to see how these have been absorbed into the iteration protocol in python as wellwe need to move on to the next section new iterables in python one of the fundamental distinctions of python is its stronger emphasis on iterators than thisalong with its unicode model and mandated new-style classesis one of ' most sweeping changes specificallyin addition to the iterators associated with built-in types such as files and dictionariesthe dictionary methods keysvaluesand items return iterable objects in python xas do the built-in functions rangemapzipand filter as shown in the prior sectionthe last three of these functions both return iterables and process them all of these tools produce results on demand in python xinstead of constructing result lists as they do in impacts on codepros and cons although this saves memory spaceit can impact your coding styles in some contexts in various places in this book so farfor examplewe've had to wrap up some function and method call results in listcall in order to force them to produce all their results at once for displayzip('abc''xyz'an iterable in python ( list in xlist(zip('abc''xyz')[(' '' ')(' '' ')(' '' ')force list of results in to display similar conversion is required if we wish to apply list or sequence operations to most iterables that generate items on demand--to indexsliceor concatenate the iterable itselffor example the list results for these tools in support such operations directlyz zip(( )( )unlike listscannot indexetc [ typeerror'zipobject is not subscriptable as we'll see in more detail in conversion to lists may also be more subtly required to support multiple iterations for newly iterable tools that support just one iterations and comprehensions