referential arrays as another motivating exampleassume that we want medical information system to keep track of the patients currently assigned to beds in certain hospital if we assume that the hospital has bedsand conveniently that those beds are numbered from to we might consider using an array-based structure to maintain the names of the patients currently assigned to those beds for examplein python we might use list of namessuch asrene joseph janet jonas helen virginia to represent such list with an arraypython must adhere to the requirement that each cell of the array use the same number of bytes yet the elements are stringsand strings naturally have different lengths python could attempt to reserve enough space for each cell to hold the maximum length string (not just of currently stored stringsbut of any string we might ever want to store)but that would be wasteful insteadpython represents list or tuple instance using an internal storage mechanism of an array of object references at the lowest levelwhat is stored is consecutive sequence of memory addresses at which the elements of the sequence reside high-level diagram of such list is shown in figure janet jonas joseph helen rene virginia figure an array storing references to strings although the relative size of the individual elements may varythe number of bits used to store the memory address of each element is fixed ( -bits per addressin this waypython can support constant-time access to list or tuple element based on its index in figure we characterize list of strings that are the names of the patients in hospital it is more likely that medical information system would manage more comprehensive information on each patientperhaps represented as an instance of patient class from the perspective of the list implementationthe same principle appliesthe list will simply keep sequence of references to those objects note as well that reference to the none object can be used as an element of the list to represent an empty bed in the hospital