<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def return_markers(self, trigger_bits=8, trigger_zero=True):
 """We always read triggers as 16bit, but we convert them to 8 here if requested. """

        nev_file = splitext(self.filename)[0] + '.nev'
        markers = _read_neuralev(nev_file, read_markers=True)

        if trigger_bits == 8:
            to8 = lambda x: str(int(x) - (256 ** 2 - 256))
            for m in markers:
                m['name'] = to8(m['name'])

        if trigger_zero:
            no_zero = (i for i, m in enumerate(markers) if m['name'] != '0')

            markers_no_zero = []
            for i in no_zero:
                if (i + 1) < len(markers) and markers[i + 1]['name'] == '0':
                    markers[i]['end'] = markers[i + 1]['start']
                markers_no_zero.append(markers[i])

        return markers_no_zero