Bu oldukça kavramsal bir soru, ancak bu konuda iyi tavsiyeler alabileceğimi umuyordum. Yaptığım programlamanın çoğu ( NumPy ) dizileriyle; Sık sık farklı boyutlardaki iki veya daha fazla dizideki öğeleri eşleştirmem gerekir ve ilk gittiğim şey bir döngü için, hatta daha da kötüsü, iç içe için bir döngüdür. Ben mümkün olduğunca for-loop'lardan kaçınmak istiyorum çünkü yavaşlar (en azından Python'da).
NumPy ile bir çok şey için araştırmam gereken önceden tanımlanmış komutlar olduğunu biliyorum ;
Bu yüzden sık sık böyle bir şey var, ki bu korkunç ve bundan kaçınmak istiyorum:
small_array = np.array(["one", "two"])
big_array = np.array(["one", "two", "three", "one"])
for i in range(len(small_array)):
for p in range(len(big_array)):
if small_array[i] == big_array[p]:
print "This item is matched: ", small_array[i]
Özellikle bunu başarmanın çok farklı yolları olduğunu biliyorum, ancak varsa genel bir düşünme yöntemiyle ilgileniyorum.
I want to avoid for-loops as much as possible because they are slow (at least in Python).
Buradaki yanlış sorunu çözüyor gibisin. Bir şeyi yinelemeye ihtiyacınız varsa, bir şeyi yinelemeniz gerekir; Hangi Python'u kullanırsanız kullanın benzer bir performans elde edersiniz. Eğer kodunuz yavaşsa, for
döngüleriniz olmadığı için değil ; çünkü gereksiz yere ya da Python tarafında C tarafında yapılabilecek işleri yapıyorsun. Örnekte ekstra iş yapıyorsunuz; Bunu iki yerine bir döngüle yapabilirdin.