You can use following structure: (as an example)
composition = iface.activeComposers().composition()
items_model = composition.itemsModel()
list_of_composer_items = items_model.zOrderList()
# [<qgis._core.QgsComposerArrow object at ..>, <qgis._core.QgsComposerLegend
# object at ..>, <qgis._core.QgsComposerScaleBar object at ..>,
# <qgis._core.QgsComposerMap object at ..>]
NOTE: "This list includes both items currently in the composition and items which have been removed from the composition."
UPDATE: Thanks to @ndawson.
composition.items() returns existing items in a composition in addition to three more objects; two
QGraphicsRectItem and a
QgsPaperItem (QGIS 2.18). Even if you don't add any item, those three items will exist in the list.
>>> composition = iface.activeComposers().composition()
[<PyQt4.QtGui.QGraphicsRectItem object at ..>,
<PyQt4.QtGui.QGraphicsRectItem object at ..>,
<qgis._core.QgsPaperItem object at ..>]