Kelimelerin bir listesini almam ve 2 veya daha fazla karakter uzunluğunda ve ilk ve son karakterin eşit olduğu tüm kelimeleri saymam gerekiyor. Tercih çözüm olacaktır0 kavrama ve len() vs. döngü için basit
result = 0
for word in words:
if len(word) >= 2 and word[0] == word[-1]:
result += 1
return result
vs
return len([word for word in words if len(word) >= 2 and word[0] == word[-1]])
:
iki olası çözümler ile geldi? Yoksa daha da iyisi var mı?
# 2 alırım; ancak çok satırlı olarak güzel biçimlendirilmiş. Sadece bir tane yazabileceğinden, bir satır yazmanız gerektiği anlamına gelmez (jeneratörler veya for-comp ile bile) –
Lütfen, lütfen, lütfen ölçün. Bunu ölçmek için lütfen "timeit" i kullanın. Lütfen sonuçları ölçün ve gönderin. –
@ S.Lott: Performans hakkında hiçbir şey söylemedi. Bir şey yapmanın * tercih edilen * yolu bir şey yapmanın * en hızlı * yolunu göstermez. –