Рубрики
Без рубрики

Всегда ли один лайнеры Pythonic?

Прежде всего, если вы не знаете, что означает Pythonic, посмотрите этот вопрос. Я люблю чистый код так сильно … Tagged с обсуждением, Python, Codequality.

Прежде всего, если вы не знаете, что означает 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”