Takes a list of strings of equal length and returns a string containing
    the most common value from each index in the string.

    Optional argument: binary - a boolean indicating whether or not to treat
    strings as binary numbers (fill in leading zeros if lengths differ).

def string_avg(strings, binary=True):
    """
    Takes a list of strings of equal length and returns a string containing
    the most common value from each index in the string.

    Optional argument: binary - a boolean indicating whether or not to treat
    strings as binary numbers (fill in leading zeros if lengths differ).
    """

    if binary:  # Assume this is a binary number and fill leading zeros
        strings = deepcopy(strings)
        longest = len(max(strings, key=len))

        for i in range(len(strings)):
            while len(strings[i]) < longest:
                split_string = strings[i].split("b")
                strings[i] = "0b0" + split_string[1]

    avg = ""
    for i in (range(len(strings[0]))):
        opts = []
        for s in strings:
            opts.append(s[i])
        avg += max(set(opts), key=opts.count)

    return avg