0 votes
2 views
in Python

I'm trying to understand how the any() and all() Python built-in functions work.

I'm trying to compare the tuples so that if any value is different then it will return True and if they are all the same it will return False. How are they working in this case to return [False, False, False]?

d is a defaultdict(list).

print d['Drd2']

# [[1, 5, 0], [1, 6, 0]]

print list(zip(*d['Drd2']))

# [(1, 1), (5, 6), (0, 0)]

print [any(x) and not all(x) for x in zip(*d['Drd2'])]

# [False, False, False]

To my knowledge, this should output

# [False, True, False]

since (1,1) are the same, (5,6) are different, and (0,0) are the same.

Why is it evaluating to False for all tuples?

## 1 Answer

0 votes
by (106k points)

You can use the below-mentioned code see how Python’s function works:-

def any(iterable):

for item in iterable:

if item:

return True

return False

def all(iterable):

for item in iterable:

if not item:

return False

return True

To know more about this you can have a look at the following video tutorial:-

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
0 votes
1 answer