Credential: I do not know, but I, at least, am 4 years experienced; I am still learning C and Assembly.
What is any
and all
in Python?
By Python definition, any
will return if there is an item whereby true in a list, whereas all
will return if all items are true in a list.
It looks like the operator or
and and
for any
and all
. It is actually easy to implement in C, Assembly, or any other language.
Here are examples of the function any
,
any([true, false, false]) # Result in True
any([false, false, false]) # Result in False
Here are examples of the function all
,
all([true, true, true]) # Result in True
all([true, true, false]) # Result in False
Implementation in C for any
,
// My algorithm for "any"
int any(int* arr, int size) {
int i = 0, t = 0;
for (; i < size - 1 ; i += 2) {
t += arr[i] + arr[i + 1];
}
return (t + arr[size % i]) && 1;
}
With a O(log n)
time complexity and O(1)
space complexity.
Implementation in C for all
,
// My algorithm for "all"
int all(int* arr, int size) {
int i = 0, t = 0;
for (; i < size - 1 ; i += 2) {
t += arr[i] + arr[i + 1];
}
return (t + (i % size && arr[size % i]) > (i >> 1));
}
With a O(log n)
time complexity and O(1)
space complexity.
I will explain how the algorithm works in another post.
How to use any
,
# Real world application
if any(person.alive for person in people):
myself.shout("Who is dead?")
How to use all
,
# Real world application
if all(person.alive for person in people):
myself.shout("We are safe!")
Top comments (0)