Прежде всего, если вы не знаете, что означает Pythonic, см. Этот вопрос Анкет
Я люблю чистый код так же сильно, как и все, но я думаю, что мы все согласны с тем, что должен быть ограничение на то, сколько вы установили одну строку кода.
Например, просмотр некоторых примеров на Python Wiki Я наткнулся на элегантные лайнеры, как:
# Palindrome Python One-Liner phrase.find(phrase[::-1]) # Find indices of x in a list lst indices = [i for i in range(len(lst)) if lst[i]==x]
Но также некоторые другие, которые я не нахожу так много чистых:
# Quicksort Python One-liner lambda L: [] if L==[] else qsort([x for x in L[1:] if x< L[0]]) + L[0:1] + qsort([x for x in L[1:] if x>=L[0]])
У вас есть какие-нибудь критерии для ограничения ваших однострочников? Или вы не против длины линии, пока она работает?
Оригинал: “https://dev.to/miguelmj/are-one-liners-always-pythonic-552n”