I believe this forloop can be simplified with:

```python
n_nt = len(self)
for i in range(0, n_nt - (n_nt % 3), 3):
  codon = self[i:i+3]
  result.append(genetic_code[codon])
```

Which then lends itself to:

```
n_nt = len(self)
result = [genetic_code[self[i:i+3]] for i in range(0, n_nt - (n_nt % 3), 3)]
```