Add have_same_contents, includes_all and includes_any
This commit is contained in:
committed by
GitHub
parent
b047b8f546
commit
53c0329a89
22
have_same_contents.md
Normal file
22
have_same_contents.md
Normal file
@ -0,0 +1,22 @@
|
||||
---
|
||||
title: have_same_contents
|
||||
tags: list,intermediate
|
||||
---
|
||||
|
||||
Returns `True` if two lists contain the same elements regardless of order, `False` otherwise.
|
||||
|
||||
Use `set()` on combination of both lists to find the unique values.
|
||||
Iterate over them with a `for` loop comparing the `count()` of each unique value in each array.
|
||||
Return `False` if the counts do not match for any element, `True` otherwise.
|
||||
|
||||
```py
|
||||
def have_same_contents(a, b):
|
||||
for v in set(a + b):
|
||||
if a.count(v) != b.count(v):
|
||||
return False
|
||||
return True
|
||||
```
|
||||
|
||||
```py
|
||||
have_same_contents([1, 2, 4], [2, 4, 1]) # True
|
||||
```
|
||||
21
includes_all.md
Normal file
21
includes_all.md
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
title: includes_all
|
||||
tags: utility,intermediate
|
||||
---
|
||||
|
||||
Returns `True` if all the elements in `values` are included in `lst`, `False` otherwise.
|
||||
|
||||
Check if every value in `values` is contained in `lst` using a `for` loop, returning `False` if any one value is not found, `True` otherwise.
|
||||
|
||||
```py
|
||||
def includes_all(lst, values):
|
||||
for v in values:
|
||||
if v not in lst:
|
||||
return False
|
||||
return True
|
||||
```
|
||||
|
||||
```py
|
||||
includes_all([1, 2, 3, 4], [1, 4]) # True
|
||||
includes_all([1, 2, 3, 4], [1, 5]) # False
|
||||
```
|
||||
21
includes_any.md
Normal file
21
includes_any.md
Normal file
@ -0,0 +1,21 @@
|
||||
---
|
||||
title: includes_any
|
||||
tags: list,intermediate
|
||||
---
|
||||
|
||||
Returns `True` if any the elements in `values` are included in `lst`, `False` otherwise.
|
||||
|
||||
Check if any value in `values` is contained in `lst` using a `for` loop, returning `True` if any one value is found, `False` otherwise.
|
||||
|
||||
```py
|
||||
def includes_any(lst, values):
|
||||
for v in values:
|
||||
if v in lst:
|
||||
return True
|
||||
return False
|
||||
```
|
||||
|
||||
```py
|
||||
includes_any([1, 2, 3, 4], [2, 9]) # True
|
||||
includes_any([1, 2, 3, 4], [8, 9]) # False
|
||||
```
|
||||
Reference in New Issue
Block a user