40
Last seen 4 days ago
Member for 9 years, 10 months, 19 days
Difficulty Advanced
Hi,
1. Don't use _sum_ as variable name it is a built-in function.
2. Look at _list comprehensions/generator expressions_ and _str.join()_.
More
Hi, look at _all()_ and _generator expressions_:
return all(x in text.lower() for x in ascii_lowercase)
More
Hi, do not redefine _sum()_:
# This is shorter, nicer and faster
f = sum(map(abs, groups))
# than:
sum = reduce(lambda x, y : abs(x) + abs(y), groups)
More
Hi,
1. look at _any()_:
def contain(s, need): return any(c in need for c in s)
2. look at _str.isupper()_, _str.islower()_, _str.isdigit()_.
More
Hi, you could write:
text = "".join(filter(str.islower, text.lower()))
More
Hi,
1. you certainly heard about _any()_.
2. As Veky already told you: You can omit [] and _sum()_ the __bool__`s`.
3. etc. ...
More
Hi, you don't need all those nested `if`s e. g.:
elif (operation == OPERATION_NAMES[4]):
return x == y
More
Hi,
1. look at _extended slices_: `array[::2]`
2. and do not redefine _sum()_ built-in function: `sum(array[::2])`
More
Hi, look at _reduce()_, _map()_, _filter()_ and _int.\_\_mul\_\_()_ or at _operator.mul()_.
# you can write this:
def checkio(number):
return calculation(int(x) for x in str(number))
# then:
from functools import reduce
def checkio(number):
return re
More
Hi, look at _filter()_ and _str.join()_:
return "".join(filter(str.isupper, text))
More
Hi, look at _sum()_ and generator expressions:
return sum(word in text for word in words)
More
Hi, I think you know that `is not` is not the right comparison here.
More