Q1 - Aşağıdaki set()
, generator expression
veya set comprehension
mu? (Ya da Eğer öyleyse, aynı olan list
& dict
comprehensions da karşılık gelen tip döküm jeneratörlerde?)Python Set Comprehensions nasıl çalışır?
my_set = {x for x in range(10)}
Q2 - değerlendirme yinelenen değerler & sonra set()
uygulayarak bunları kaldırmak düşünün mu?
dup_set = {x for x in [0, 1, 2, 0, 1, 2]}
anlama gerçekleştirmek mu (hız-bilge) düzenli for
döngüler daha iyi?
Güncelleştirme - Hız karşılaştırmaları için timeit
numaralı telefonu kullanmayı denedim. Ben bu konuda sadece (adil) olduğumdan emin değilim. Bazı conditionals
C:\>python -m timeit "s = set()" "for x in range(10):" "
s.add(x)"
100000 loops, best of 3: 2.3 usec per loop
C:\>python -m timeit "s = {x for x in range(10)}"
1000000 loops, best of 3: 1.68 usec per loop
,
C:\>python -m timeit "s = set()" "for x in range(10):" "
if x%2: s.add(x)"
100000 loops, best of 3: 2.27 usec per loop
C:\>python -m timeit "s = {x for x in range(10) if x%2}"
1000000 loops, best of 3: 1.83 usec per loop
Yani, orada oldukça fark vardır o c
kodlanmış olan işlevselliği nedeniyle?
Belki de timeit (http://docs.python.org/2/library/timeit.html) kullanabilir veya "C" ile yazılan zaman/hız farklarını ( – Totem