Checking homogeneity of Array using List in Python

Joshua Landau joshua at landau.ws
Mon Aug 26 18:39:02 EDT 2013


On 26 August 2013 14:49, Neil Cerutti <neilc at norwich.edu> wrote:
> On 2013-08-25, sahil301290 at gmail.com <sahil301290 at gmail.com> wrote:
>>
>> eg. my input is ['1', ' ', 'asdasd231231', '1213asasd', '43242']
>> I want it to be interpreted as:
>> [1, [None], [None], [None], 43242]
>>
>> NOTE: NO INBUILT FUNCTION BE USED.
>
> Impossible. I think.

class BoilerplateToStopCheating:
    def __init__(self):
        """Factor things out to prevent cheating."""
        self.digit_to_number = {"0":0, "1":1, "2":2, "3":3, "4":4,
"5":5, "6":6, "7":7, "8":8, "9":9}

    def __call__(self, items):
        def fudging():
            """More cheat-fudging."""
            for item in items:
                try:
                    as_number = 0
                    for char in item:
                        as_number *= 10
                        as_number += self.digit_to_number[char]
                    yield as_number

                except KeyError:
                    yield [None]

        [*z] = fudging()
        return z

converter = BoilerplateToStopCheating()

# Can't use "print"...
# Erm...
converter(['1', ' ', 'asdasd231231', '1213asasd', '43242'])
# Output: [1, [None], [None], [None], 43242]



More information about the Python-list mailing list