Longest word using a single row of the qwerty keyboard
Python 2, 84 bytes

lambda l:max(l,key=lambda w:(-len({&quot;asdfghjklzxcvbnm&quot;.find(c)/9for c in w}),len(w)))

Finds the max of the input, comparing by fewer keyboard rows spanned, then in increasing length. The keyboard row value is extracted by &quot;asdfghjklzxcvbnm&quot;.find(c)/9, which takes the middle row to 0, the bottom row to 1, and the top row, which is excluded, to -1, since find gives -1 for missing values.
Other attempts:
lambda l:max((-len({&quot;asdfghjklzxcvbnm&quot;.find(c)/9for c in w}),len(w),w)for w in l)[2]
lambda l:max(l,key=lambda w:len(w)-1./len({&quot;asdfghjklzxcvbnm&quot;.find(c)/9for c in w}))
lambda l:max([w for w in l if len({&quot;asdfghjklzxcvbnm&quot;.find(c)/9for c in w})&lt;2],key=len)