import random
myNumbers = [random.randint(1, 10) for i in range(0, 7)]
myNumbers.sort() #Binary search works on a sorted list.
print(myNumbers)
#How about this code:
binSearch = lambda anyList, item: anyList[int(len(anyList)/2)] \
if anyList[int(len(anyList)/2)] == item \
else None \
if int(len(anyList)/2) == 0 \
else binSearch(anyList[0:int(len(anyList)/2)], item) \
if anyList[int(len(anyList)/2)] > item \
else binSearch(anyList[int(len(anyList)/2):], item)
print(binSearch(myNumbers, 6))
Is it more or less elegant code? I'm beginner and I'm wondering if writing recursion in one line is a good practice.