Почему оператор лопатки (< <) предпочтительнее, чем плюс-равно (+ =) при построении строки в Ruby?

Используйте filter:

newlist=filter(lambda x: len(x)>0, oldlist) 

Недостатки использования фильтра, как указано, это то, что он медленнее, чем альтернативы; также, lambda обычно дорого.

Или вы можете перейти на самую простую и самую итеративную из всех:

# I am assuming listtext is the original list containing (possibly) empty items
for item in listtext:
    if item:
        newlist.append(str(item))
# You can remove str() based on the content of your original list

это наиболее интуитивно понятное из методов и делает это в приличное время.

147
задан iCodez 23 January 2015 в 17:24
поделиться