Can this list comprehension be made more pythonic? Quite a specific question can the below code be made more clearer / pythonic in any way.

Essentially based on the condition of the string x((len(x) / 3) - 1), I use this to extract out parts of the string.

def split_string(x):
    splitted_string = [x[counter*3:(counter*3)+3] for counter in range ((len(x) /3) - 1)]
    return splitted_string

&gt;&gt;&gt; split_string('ABCDEFGHI')
['ABC', 'DEF']
For integer division, use the // operator.  In Python 3, / will do floating-point division.

The task could be more succinctly accomplished using re.findall().

Also, the goal of the function is not obvious.  Pythonic code would include a docstring explaining its purpose.

import re

def split_string(s):
    """
    Splits a string into a list, with each element consisting of
    three characters.  Any incomplete group at the end is discarded,
    and then the last complete group is also discarded.
    """
    return re.findall(r'.{3}', s)[:-1]