Merge branch 'pr/2'
This commit is contained in:
@ -1,5 +1,7 @@
|
||||
### count_by
|
||||
|
||||
:information_source: Already implemented via `collections.Counter`
|
||||
|
||||
Groups the elements of a list based on the given function and returns the count of elements in each group.
|
||||
|
||||
Use `map()` to map the values of the list using the given function. Iterate over the map and increase the the elements count each time it occurs.
|
||||
|
||||
12
snippets/difference_by.md
Normal file
12
snippets/difference_by.md
Normal file
@ -0,0 +1,12 @@
|
||||
### difference_by
|
||||
``` python
|
||||
def difference_by(a, b, fn):
|
||||
b = set(map(fn,b))
|
||||
return [item for item in a if fn(item) not in b]
|
||||
```
|
||||
|
||||
```python
|
||||
from math import floor
|
||||
difference_by([2.1, 1.2], [2.3, 3.4],floor) # [1.2]
|
||||
difference_by([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], lambda v : v['x']) # [ { x: 2 } ]
|
||||
```
|
||||
@ -1,6 +1,6 @@
|
||||
### spread
|
||||
|
||||
Implements javascript's spread syntax as a function. Flattens the list(non-deep) and returns an list.
|
||||
Implements javascript's `[].concat(...arr)`. Flattens the list(non-deep) and returns an list.
|
||||
|
||||
```python
|
||||
def spread(arg):
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
|
||||
# 30-seconds-of-python-code
|
||||
[](https://github.com/kriadmin/30-seconds-of-python-code/blob/master/LICENSE) [](https://gitter.im/30-seconds-of-python-code/Lobby) [](http://makeapullrequest.com) [](https://travis-ci.org/kriadmin/30-seconds-of-python-code) [](https://insight.io/github.com/kriadmin/30-seconds-of-python-code/tree/master/?source=0) [](https://github.com/Flet/semistandard)
|
||||
[](https://app.fossa.io/projects/git%2Bgithub.com%2Fkriadmin%2F30-seconds-of-python-code?ref=badge_shield)
|
||||
|
||||
>Python implementation of 30-seconds-of-code.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user