diff --git a/snippets/count_by.md b/snippets/count_by.md index 2b37ecd11..c3e67488a 100644 --- a/snippets/count_by.md +++ b/snippets/count_by.md @@ -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. diff --git a/snippets/difference_by.md b/snippets/difference_by.md new file mode 100644 index 000000000..c9d82dbf2 --- /dev/null +++ b/snippets/difference_by.md @@ -0,0 +1,11 @@ +### 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 +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 } ] +``` \ No newline at end of file diff --git a/snippets/spread.md b/snippets/spread.md index c03d2a080..c37fae703 100644 --- a/snippets/spread.md +++ b/snippets/spread.md @@ -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): diff --git a/static-parts/readme-end.md b/static-parts/readme-end.md index c9d2d14b1..85537e0f6 100644 --- a/static-parts/readme-end.md +++ b/static-parts/readme-end.md @@ -1,3 +1,8 @@ ## Credits *Icons made by [Smashicons](https://www.flaticon.com/authors/smashicons) from [www.flaticon.com](https://www.flaticon.com/) is licensed by [CC 3.0 BY](http://creativecommons.org/licenses/by/3.0/).* + + + +## License +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fkriadmin%2F30-seconds-of-python-code.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkriadmin%2F30-seconds-of-python-code?ref=badge_large) diff --git a/static-parts/readme-start.md b/static-parts/readme-start.md index 96cdc9f22..e6236041f 100644 --- a/static-parts/readme-start.md +++ b/static-parts/readme-start.md @@ -2,6 +2,7 @@ # 30-seconds-of-python-code [![License](https://img.shields.io/aur/license/yaourt.svg)](https://github.com/kriadmin/30-seconds-of-python-code/blob/master/LICENSE) [![Gitter chat](https://img.shields.io/badge/chat-on%20gitter-4FB999.svg)](https://gitter.im/30-seconds-of-python-code/Lobby) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com) [![Travis Build](https://travis-ci.org/kriadmin/30-seconds-of-python-code.svg?branch=master)](https://travis-ci.org/kriadmin/30-seconds-of-python-code) [![Insight.io](https://img.shields.io/badge/insight.io-Ready-brightgreen.svg)](https://insight.io/github.com/kriadmin/30-seconds-of-python-code/tree/master/?source=0) [![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg)](https://github.com/Flet/semistandard) +[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fkriadmin%2F30-seconds-of-python-code.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fkriadmin%2F30-seconds-of-python-code?ref=badge_shield) >Python implementation of 30-seconds-of-code.