Rohit Tanwar 1cb811f877 Update typo.md
2018-01-09 18:29:43 +05:30
2018-01-09 04:11:24 +05:30
2018-01-09 11:12:20 +05:30
2018-01-09 10:48:49 +05:30
2018-01-09 18:29:43 +05:30
2018-01-09 04:21:27 +05:30
2018-01-09 12:19:42 +05:30
2018-01-09 03:26:25 +05:30
2018-01-09 18:18:40 +05:30
2018-01-09 02:00:17 +05:30
2018-01-08 17:47:16 +05:30
2018-01-09 14:27:03 +05:30
2018-01-09 02:59:40 +05:30
2018-01-09 10:09:42 +05:30

Logo

30-seconds-of-python-code

Python implementation of 30-seconds-of-code.

Note:- This is in no way affiliated with the original 30-seconds-of-code.

chunk

Chunks an array into smaller lists of a specified size.

Uses range to create a list of desired size. Then use map on this list and fill it with splices of arr.

from math import ceil


def chunk(arr, size):
    return list(
        map(lambda x: arr[x * size:x * size + size],
            list(range(0, ceil(len(arr) / size)))))

chunk([1,2,3,4,5],2) # [[1,2],[3,4],5]

countOccurences

Counts the occurrences of a value in an list.

Uses the reduce functin from built-in module functools to increment a counter each time you encounter the specific value inside the list.

def countOccurences(arr, val):
    return reduce(
        (lambda x, y: x + 1 if y == val and type(y) == type(val) else x + 0),
        arr)

countOccurrences([1, 1, 2, 1, 2, 3], 1) # 3

countVowels

Retuns number of vowels in provided string.

Use a regular expression to count the number of vowels (A, E, I, O, U) in a string.

import re


def countVowels(str):
    return len(len(re.findall(r'[aeiou]', 'bcedfidsnoxluAEIO', re.IGNORECASE)))

countVowels('foobar') # 3
countVowels('gym') # 0

gcd

Calculates the greatest common divisor between two or more numbers/lists.

The helperGcdfunction uses recursion. Base case is when y equals 0. In this case, return x. Otherwise, return the GCD of y and the remainder of the division x/y.

Uses the reduce function from the inbuilt module functools. Also defines a method spread for javascript like spreading of lists.

from functools import reduce


def spread(arg):
    ret = []
    for i in arg:
        if isinstance(i, list):
            ret.extend(i)
        else:
            ret.append(i)
    return ret


def gcd(*args):
    numbers = []
    numbers.extend(spread(list(args)))

    def _gcd(x, y):
        return x if not y else gcd(y, x % y)

    return reduce((lambda x, y: _gcd(x, y)), numbers)

gcd(8,36) # 4

lcm

Returns the least common multiple of two or more numbers.

Use the greatest common divisor (GCD) formula and the fact that lcm(x,y) = x * y / gcd(x,y) to determine the least common multiple. The GCD formula uses recursion.

Uses reduce function from the inbuilt module functools. Also defines a method spread for javascript like spreading of lists.

from functools import reduce


def spread(arg):
    ret = []
    for i in arg:
        if isinstance(i, list):
            ret.extend(i)
        else:
            ret.append(i)
    return ret


def lcm(*args):
    numbers = []
    numbers.extend(spread(list(args)))

    def _gcd(x, y):
        return x if not y else gcd(y, x % y)

    def _lcm(x, y):
        return x * y / _gcd(x, y)

    return reduce((lambda x, y: _lcm(x, y)), numbers)

lcm(12, 7) # 84
lcm([1, 3, 4], 5) # 60

spread

Implements javascript's spread syntax as a function. Flattens the list(non-deep) and returns an list.

def spread(arg):
    ret = []
    for i in arg:
        if isinstance(i, list):
            ret.extend(i)
        else:
            ret.append(i)
    return ret

spread([1,2,3,[4,5,6],[7],8,9]) # [1,2,3,4,5,6,7,8,9]

Credits

Icons made by Smashicons from www.flaticon.com is licensed by CC 3.0 BY.

Languages
JavaScript 100%