<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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