Listeler ve istatistik
Bir liste, bir haftalık adım sayısı, bir dizi sınav puanı veya bir aylık makbuz gibi birkaç değeri tek bir isim altında bir arada tutar. Değerler bir listeye girdikten sonra, bunları toplayabilir, ortalamalayabilir, ne kadar dağıldıklarını ölçebilir ve önemli olanları seçebilirsiniz.
Bu sayfa; liste yazmayı ve indeksle erişmeyi, özet istatistikleri, üst satırları toplamayı, konumlarından bağımsız toplayabilmek için satırları etiketlemeyi, sıralamayı ve alt aralık seçmeyi, map ve filter ile liste dönüştürmeyi ve tüm listeye aritmetik işlem uygulamayı açıklar. Bir sayı sütununu özetlemek istediğinizde kullanabilirsiniz. Satırlardan oluşan listeler matris olarak da kullanılabilir; bunun için ayrı bir sayfa vardır.
Liste yazma
Değerleri virgülle ayırarak köşeli parantez içine koyun:
scores = [72, 85, 91, 64, 88] sonucu [72, 85, 91, 64, 88]scores[0] sonucu 72scores[4] sonucu 88length(scores) sonucu 5Değerin listedeki konumuna indeks denir ve listenin ardından köşeli parantezle yazılır. İndeksler sıfırdan başlar; scores[0] ilk puanı, scores[4] beşinci puanı verir. Son öğe her zaman length(scores) - 1 indeksindedir. Negatif, kesirli veya sınırı aşan indeks hata verir; indeksler listenin sonundan başına dönmez.
Öğeler hesaplamalar, birimli miktarlar veya diğer listeler olabilir:
[2 * 45, 60 + 15] sonucu [90, 75][1.5 kg, 750 g] sonucu [1.5 kg, 750 g][[1, 2], [3, 4]][1][0] sonucu 3İç içe geçmiş listelerde, ilk dizin iç listeyi seçer ve ikincisi ondan bir değer seçer: [1] [3, 4]'yi seçer, ardından [0] 3'ü seçer.
Listelerde binlik ayırıcılar kullanılabilir; sayıları yazıldıkları biçimde yapıştırabilirsiniz. Değerleri ayıran her virgülden sonra boşluk bırakın. Ardından üç rakam gelen virgül ise sayının parçası olarak kalır:
salaries = [£32,000, £41,500, £38,250] sonucu [£32,000.00, £41,500.00, £38,250.00]average(salaries) sonucu £37,250.00Dikkat edilmesi gereken birkaç şey:
- Boşluk olmadan, her virgül ayrılır, bu nedenle
[8200,10400]nin iki değeri vardır.[100,200,300]gibi bir liste bir veya üç sayı olabilir, bu nedenle Varlig her ikisini de yazan bir hata gösterir. - Sonuçlarda binlik ayırıcılar ve öğeleri ayıran virgüllerin ardından boşluk gösterilir. Bu nedenle
[8,200, 10,400], iki değerli bir listedir. - Bir liste en fazla 1.024 değer tutar.
Özet istatistikler
scores = [72, 85, 91, 64, 88]sum(scores) sonucu 400average(scores) sonucu 80median(scores) sonucu 85min(scores) sonucu 64max(scores) sonucu 91count(scores) sonucu 5mean ve avg, average için; total, sum için; stdev, stddev için; count, length için alternatif adlardır. Böylece elektronik tablo alışkanlıklarınızı kullanabilirsiniz. product, değerleri birbiriyle çarpar. En sık görülen değer, yüzdelik dilim veya çeyreklik için aşağıya bakın.
Adlandırılmış bir liste ile istatistiği kelimelerle de yazabilirsiniz:
scores = [72, 85, 91, 64, 88]average of scores sonucu 80total of scores sonucu 400sum of, mean of, median of, min of, max of ve count of aynı şekilde çalışır. of sonrasında bir ad veya virgülle ayrılmış değerler yazın; normal parantez kullanmanız isteğe bağlıdır. Köşeli parantez içindeki değerler için fonksiyon biçimini kullanın: average([72, 85, 91]).
sum, product, average, median, min, max, count ve stddev dahil çoğu istatistik fonksiyonu, liste yerine ayrı ayrı değerler de kabul eder:
max(72, 85, 91) sonucu 91sum(1, 2, 3, 4) sonucu 10average of 70, 85, 91 sonucu 82mean of (1,2,3) sonucu 2average(1,200, 1,800) sonucu 1,500Yukarıdaki satırları toplama
Yalnızca sum, total, subtotal, grand total, average, max veya min yazan satır, üstündeki sonuçlar için ilgili değeri hesaplar. Kapsamı, önceki toplamdan, --- ayırıcısından veya # başlığından başlayan kendi bölümüdür. Böylece siz yazarken notun her bölümü kendi sonucunu verir. Satırın bağlam menüsündeki Subtotal seçeneği gibi çalışır:
# Groceriesbread = £1.20milk = £1.45eggs = £2.30total sonucu £4.95# Householdbin bags = £3.50washing up liquid = £1.80total sonucu £5.30Kelime bir etiket taşıyabilir, kendi adını alabilir, cevabı dönüştürebilir veya ondan sonra bir yorum yapabilir, böylece satır notunuzun geri kalanı gibi okur:
tickets = £64train = £41.20Estimated total: total sonucu £105.20est = total, sonucu bir ad altında saklar. total // still to book, yanına açıklama ekler. total in kg, sonucu göstermeden önce dönüştürür; gram ve kilogramın bir arada bulunduğu bölümlerde kullanışlıdır. Operatörün yanındaki istatistik kelimesi, tek başına bir satırda vereceği değeri kullanır. Bu yüzden £5 + subtotal, o ana kadarki toplama £5 ekler.
# Parcels12 kg sonucu 12 kg4 kg sonucu 4 kg850 g sonucu 850 gtotal in kg sonucu 16.85 kgmax sonucu 12 kgEğer sum veya total adlı bir değer verdiyseniz, satır bunun yerine değerinizi gösterir. Çalışacak hiçbir şey yoksa, satır genellikle boş veya sıfır göstermek yerine Unsupported: no amounts above to add up yazar; bu genellikle orada olduğunu unuttuğunuz bir başlık anlamına gelir.
Her tutar bir kez sayılır. Bölümdeki sonraki bir satır adlandırılmış bir tutardan hesaplama yapıyorsa toplam ikisini birden değil, bu yeni satırı sayar. Böylece birim fiyat ve miktar içeren alışveriş listesi, gerçekten ödeyeceğiniz tutarı verir:
shirt = £18.50shorts = £99 * shirt sonucu £166.5010 * shorts sonucu £90.00fee = £40vat = fee * 20% sonucu £8.00total sonucu £304.50shirt ve shorts, bunları kullanan iki satırın içine dahil edilirken, fee toplamda kalır çünkü vat sadece bir kısmını alır.
Bu kural, adlar arasındaki başvuru zincirini sonuna kadar izler. Bir notta tutar paylara bölünüp sonra paylar yeniden toplanıyorsa hem payları toplayan satır hem de payların ayrıldığı asıl tutar hesaba katılır:
pot = £9001st = 50% of pot sonucu £450.002nd = 30% of pot sonucu £270.003rd = 20% of pot sonucu £180.001st + 2nd + 3rd sonucu £900.00total sonucu £900.00Yalnızca uyumlu tutarlar toplanır. Yukarıda para veya birimli miktar varsa yüzdeler, oranlar ve birimsiz adetler dışarıda bırakılır; hatalı satırlar da sayılmaz. Sütun halinde yapıştırılan birimsiz sayılar, para tutarları gibi iki ondalık basamakla yazılmışsa toplanır. Döviz kuru veya katsayı gibi daha fazla ondalık basamak içerenler dışarıda bırakılır. Toplamın ipucu atlanan her şeyi belirtir; örneğin 3. satırdaki people = 2 değerinin veya 2. satırdaki hatanın sayılmadığını söyler. Böylece toplamın kapsamını bir bakışta görebilirsiniz.
Toplamın hemen üzerinde, adlandırılmış değerlerden hesaplanan bir satırın altında, adsız yazılmış en az iki tutar varsa bu tutarlar kendi aralarında toplanır. Böylece notun başında hesaplanan bütçe, altındaki listeye yeniden dahil edilmez:
budget = £18,000remaining = budget - £6,388.25 sonucu £11,611.75- skip hire £250 sonucu £250.00- deep clean £120 sonucu £120.00subtotal sonucu £370.00Yan yana bulunmayan satırları toplamak için bunları bir etiketle işaretleyin.
En sık görülen değerler
mode, diğerlerinden daha sık görülen değeri verir. modes, en yüksek sıklığı paylaşan tüm değerleri liste olarak verir:
marks = [3, 4, 4, 5, 5, 5, 6]mode(marks) sonucu 5modes([1, 1, 2, 2, 3]) sonucu [1, 2]mode, yalnızca tek bir değer diğerlerinden kesin olarak daha sık görülüyorsa sonuç verir. Hiç tekrar yoksa veya birkaç değer aynı en yüksek sıklığa sahipse rastgele birini seçmek yerine bunu bildirir:
mode([1, 2, 3]) sonucu Unsupported: No value repeats, so this list has no mode; use median or average insteadYüzdelik dilimler ve çeyrekler
percentile(list, rank) 0'dan 100'e kadar bir sıra alır ve en yakın iki gözlem arasında enterpolasyon yaparak o noktada değer verir. quartile(list, k) çeyreklerde aynı şeydir, k 0'dan 4'e kadar, bu nedenle quartile(list, 1) percentile(list, 25)dir:
scores = [72, 85, 91, 64, 88]percentile(scores, 50) sonucu 85percentile(scores, 25) sonucu 72quartile(scores, 3) sonucu 88quartile(scores, 4) sonucu 91percentile([1, 2, 3, 4], 25) sonucu 1.75quartile([1, 2, 3, 4], 3) sonucu 3.25- yüzdelik dilim medyandır ve 0. ve 100. -
quartile(list, 0)vequartile(list, 4)—minvemaxile aynı en küçük ve en büyük değerlerdir. Aralığının dışındaki bir sıra, uyacak en yakın değerden ziyade bir hatadır:
percentile([1, 2, 3, 4], 101) sonucu Unsupported: A percentile is between 0 and 100quartile([1, 2, 3, 4], 5) sonucu Unsupported: A quartile is 0, 1, 2, 3 or 4Yayılım: varyans ve standart sapma
scores = [72, 85, 91, 64, 88]variance(scores) sonucu 132.5stddev(scores) to 1 dp sonucu 11.5Her ikisi de örneklem istatistiğidir: değer sayısının bir eksiğine (n - 1) bölerler. Verileriniz daha büyük bir kitleden alınmış örneklemse genellikle bu kullanılır. En az iki değer gerekir. Yuvarlamak için herhangi bir istatistiğin sonuna to 1 dp ekleyebilirsiniz.
Listeniz bir örnekten ziyade tüm popülasyon olduğunda, n'ye bölünen ve yalnızca bir değere ihtiyaç duyan popülasyon formlarını kullanın:
# Train delays in minutesdelays = [2, 4, 4, 4, 5, 5, 7, 9]sample_variance(delays) sonucu 4.5714285714population_variance(delays) sonucu 4sample_stddev(delays) sonucu 2.1380899353population_stddev(delays) sonucu 2| Çağrı | Farkların kareleri toplamının bölündüğü değer | Gereken |
|---|---|---|
variance, sample_variance |
n - 1 |
İki değer |
population_variance |
n |
Bir değer |
stddev, stdev, sample_stddev |
n - 1 |
İki değer |
population_stddev |
n |
Bir değer |
sample_variance ve sample_stddev, sırasıyla variance ve stddev için daha uzun adlardır; böylece örneklem istatistiği istediğinizi açıkça belirtebilirsiniz. Kısa adlar her zaman örneklem biçimleriydi ve öyle kalır.
Birim içeren listeler
sum, average, median, mode, modes, percentile, quartile, min, max, stddev ve population_stddev birimleri korur, uyumlu birimler arasında dönüşüm yapar. Değerler ilk değerin birimine çevrilir; sonuç da o birimde döner:
commutes = [24 min, 31 min, 27 min, 22 min]sum(commutes) sonucu 1 hour 44 minaverage(commutes) sonucu 26 minmedian(commutes) sonucu 25.5 minpercentile(commutes, 25) sonucu 23.5 minpopulation_stddev(commutes) sonucu 3.3911649916 minsum([1 kg, 500 g]) sonucu 1.5 kgmodes([1 kg, 500 g, 1 kg, 500 g]) sonucu [0.5 kg, 1 kg]Varyanslar istisnadır. Gözlemlerin karelerini aldıkları için bu hesaplamada birimler korunmaz; bu nedenle yalnızca birimsiz sayılar kabul edilir.
sample_variance([1 kg, 2 kg]) sonucu Unsupported: A variance squares its observations, so it takes plain numbers; use stddev for amounts with a unitsort ayrıca yalnızca düz sayılar üzerinde çalışır. sum([1 kg, 3 m]) gibi uyumsuz birimlere sahip değerler üzerinde yapılan bir istatistik, değerleri sessizce atlamak yerine bir hata verir.
Bu işlemlerin tam hesaplama kuralları Hesaplama motorunun garantileri bölümündedir.
Boş listeler
| Boş listeyle çağrı | Sonuç |
|---|---|
sum([]) |
0 |
product([]) |
1 |
count([]), length([]) |
0 |
average([]), median([]), min([]), max([]) |
Hata |
variance([]), stddev([]) |
Hata |
Boş bir liste, genellikle hiçbir şeye uymayan bir filter sonucunda ortaya çıkar, bu nedenle filtrelenmiş bir listenin average değeri, orijinal listenin değerleri olsa bile başarısız olabilir.
Etiketler
Bir etiket, #food gibi bir kelimenin doğrudan ona eklenmiş olduğu bir #'dir. Bu satırı etiketlemek için bir satırın herhangi bir yerine bir etiket yazın. Etiket toplamda hiçbir rol oynamaz, bu nedenle satır hâlâ kendi yanıtını gösterir ve aynı etiketi taşıyan her diğer satırı da bu satırla gruplar. total of #food daha sonra bu satırları toplar:
£12.50 lunch #food sonucu £12.50£8 coffee #food sonucu £8.00flights = £420 #trip sonucu £420.00total of #food sonucu £20.50Etiketin ara toplamdan farkı budur: satırların yan yana olması gerekmez. Bir haftanın harcamaları, bir gezi ve bir alışveriş listesi aynı blokta bulunabilir; her birinin toplamı altta ayrı gösterilir. O ana kadarki toplamı görmek için fare işaretçisini etiketin üzerinde tutun.
Her istatistik bir etiket üzerinde çalışır. of isteğe bağlıdır, etiket kelimeden önce veya sonra gelebilir ve cevap, diğer herhangi bir satırın yaptığı gibi kendine ait bir etiket veya ad alır:
#food £12.50#food £8£420 #triptotal of #food sonucu £20.50average of #food sonucu £10.25count of #food sonucu 2min of #food sonucu £8.00max of #food sonucu £12.50#food total sonucu £20.50Food this week: sum of #food sonucu £20.50eaten = avg #food sonucu £10.25sum, total, average, avg, mean, count, min ve max hepsi bu şekilde okunur.
Etiket istatistiği, bir tutarın kullanılabildiği yerde kullanılabilir; hesaplamaya buradan devam edebilirsiniz. Örneğin toplamdan peşinatı çıkarabilir, toplamı bir katsayıyla çarpabilir veya iki etiketin sonuçlarını karşılaştırabilirsiniz:
£20 shop #food sonucu £20.00£30 meal out #food sonucu £30.00total of #food - £10 sonucu £40.002 * total of #food sonucu £100.00Cooking kit: total of #food sonucu £50.00Bir satır istediğiniz kadar etiket taşıyabilir ve her biri bunu sayar. Bir ifadede iki etiket adlandırın ve her ikisini de taşıyan satırları elde edin:
£50 dinner #trip #food sonucu £50.00£30 taxi #trip sonucu £30.00£9 sandwich #food sonucu £9.00total of #trip sonucu £80.00total of #food sonucu £59.00total of #trip #food sonucu £50.00Etiket toplamının kapsamı
Bir etiket ifadesi, düz bir total ifadesinin tam olarak aynı satırlarını tarar ve aynı kuralları takip eder:
- Önceki toplama kadar kendi bölümünü, bir
---bölücü veya bir#başlığını kapsar. - Yalnızca uyumlu tutarları toplar. Yüzdeler, oranlar, birimsiz adetler ve hatalı satırlar dışarıda bırakılır. İpucu bunları belirtir; örneğin 2. satırdaki people = 2 değerinin sayılmadığını söyler.
- Her miktar bir kez sayılır, bu nedenle daha sonra etiketlenen bir satırın çarptığı etiketli bir fiyat her ikisinden ziyade bu satırda sayılır.
Bu nedenle bir haftanın #food toplamını sonraki haftadan ayırmak için bir başlık yeterlidir:
# Week 1£20 lunch #food sonucu £20.00total of #food sonucu £20.00# Week 2£30 lunch #food sonucu £30.00total of #food sonucu £30.00Eklenecek bir şey olmadığında, satır boş veya sıfır göstermek yerine bunu söyler, bu da genellikle etikette bir yazım hatası veya orada olduğunu unuttuğunuz bir başlık anlamına gelir:
£12.50 lunch #food sonucu £12.50total of #drinks sonucu Unsupported: no lines tagged #drinks abovering the plumber #jobstotal of #jobs sonucu Unsupported: no amounts tagged #jobs aboveEtiket adlarını yazma
Bir etiket adı harfleri, rakamları, _, - ve / içerebilir, bu nedenle #q1-2026 ve #trip/lisbon her ikisi de bir isimdir. Büyük harfler hiçbir fark yaratmaz:
£20 flight #trip/lisbon sonucu £20.00£35 hotel #Trip/Lisbon sonucu £35.00total of #trip/lisbon sonucu £55.00Bir kelimeye katılmayan bir # eski anlamını korur, bu nedenle zaten yazdığınız hiçbir şey değişmez:
| Yazdığınız | Anlamı |
|---|---|
# Weekly shop |
Diyezden sonra boşluk olduğu için yorum |
5 + 5 # comment |
Aynı şekilde: diyezden sonraki her şey yok sayılır |
C#4 in Hz |
Diyez nota adına bitişik olduğu için müzikal diyez |
#1, Invoice #123 |
Etiket değil, sayı: etiket adı rakamla başlayamaz |
#ff0000, #fff |
Renk kodu |
varlig.app/docs#tags |
Bölüm işareti içeren web adresi |
Etiket adı harfle başlamalıdır. Diyez işaretinden sonra üç, dört, altı veya sekiz onaltılık basamak varsa ifade renk olarak okunur. Bu yüzden #fee renk, #fees ise etikettir.
Nottaki etiketler ve bloktaki etiketler
Notları kenar çubuğunda düzenleyen etiketler Etiketler, bağlantılar ve geri bağlantılar bölümünde açıklanır. Bunların kapsamı hesaplama bloğunun sınırında biter. Blok içindeki #food, yalnızca o satırın toplamlarda gruplandırılmasını sağlar ve kenar çubuğunda görünmez. Bloğun dışındaki not metninde bulunan #food ise hesaplamaları etkilemeden notu sınıflandırır. İkisini de istiyorsanız etiketi iki yere de yazın. Bir fark daha vardır: not etiketini ikinci bir # ile kapatırsanız boşluk içerebilir; hesaplama bloğu etiketi ise her zaman ilk boşlukta biter.
Liste başvurusu
| Çağrı | İşlevi |
|---|---|
range(start,end) |
Her iki uç dahil, start ile end arasındaki tam sayılar |
range(start,end,step) |
step adımlarıyla sayar; adım negatif veya kesirli olabilir, ancak sıfır olamaz |
length(list), count(list) |
Değer sayısı |
sort(list) |
Küçükten büyüğe; yalnızca birimsiz sayılar |
reverse(list) |
Aynı değerler ters sırayla; her tür değer |
unique(list) |
Her değerin yalnızca ilk geçtiği yeri tutar |
slice(list,start,end) |
start indeksinden end indeksine kadar olan değerler; bitiş indeksi dahil değildir |
map(expression,variable,list) |
Her değer için ifadeyi bir kez hesaplar |
filter(condition,variable,list) |
Koşulu true olan değerleri tutar |
range(1, 5) sonucu [1, 2, 3, 4, 5]range(0, 100, 25) sonucu [0, 25, 50, 75, 100]range(10, 0, -2) sonucu [10, 8, 6, 4, 2, 0]scores = [72, 85, 91, 64, 88]sort(scores) sonucu [64, 72, 85, 88, 91]reverse(sort(scores)) sonucu [91, 88, 85, 72, 64]slice(sort(scores), 0, 3) sonucu [64, 72, 85]unique([4, 2, 4, 6, 2]) sonucu [4, 2, 6]reverse(sort(…)) en büyüğü önce verir ve slice(sort(…), 0, 3) en düşük üçünü seçer.
Dilimleme sınırları 0 <= start <= end <= length koşulunu karşılamalıdır. Eşit start ve end değerleri boş bir liste oluşturur. scores[0:2] kısaltması yoktur; slice(scores, 0, 2) yazın.
unique değerleri kaydedildikleri gibi tam olarak karşılaştırır, bu nedenle 1 kg ve 1000 g iki farklı değer olarak sayılır ve onuncu ondalık basamakta farklılık gösteren iki sonuç birleştirilmez.
Dönüştürme ve filtreleme
map bir listedeki her değer için bir ifade çalışır. filter bir testi geçen değerleri tutar. Her ikisinde de önce ifade gelir, sonra her bir değer için temsil edecek bir ad, sonra liste gelir:
scores = [72, 85, 91, 64, 88]map(s + 5, s, scores) sonucu [77, 90, 96, 69, 93]filter(s >= 80, s, scores) sonucu [85, 91, 88]count(filter(s >= 80, s, scores)) sonucu 3average(filter(s >= 80, s, scores)) sonucu 88filter(s >= 80, s, scores) ifadesini "scores içindeki s değerleri, s >= 80 olanlar" olarak okuyun. Her ikisi de birimler ve para birimiyle çalışır:
map(p * 1.2, p, [£10, £25, £40]) sonucu [£12.00, £30.00, £48.00]spend = [£42.50, £18.20, £65.00, £23.30]filter(x > £30, x, spend) sonucu [£42.50, £65.00]sum(filter(x > £30, x, spend)) sonucu £107.50Seçtiğiniz ad yalnızca fonksiyon çağrısının içinde geçerlidir. Notun başka bir yerinde aynı adlı değeri değiştirmez:
x = 10map(x * 2, x, [1, 2, 3]) sonucu [2, 4, 6]x sonucu 10filter içindeki koşul bir karşılaştırma veya başka bir doğru/yanlış değeri olmalıdır. Sade bir sayı doğru olarak işlenmez, bu nedenle filter(x, x, [0, 1, 2]) bir hatadır. Boş bir listeyi eşleme veya filtreleme yapmak boş bir liste üretir.
Liste aritmetiği
Her değeri tek bir sayıyla çarpabilir veya bölebilir ve aynı uzunluktaki iki listeyi değere göre ekleyebilir veya çıkarabilirsiniz:
[30, 36, 22] / 40 * 100 sonucu [75, 90, 55]2 * [3, 1, 4] sonucu [6, 2, 8]-[5, -3] sonucu [-5, 3]mocks = [62, 70, 60]finals = [72, 78, 69]finals - mocks sonucu [10, 8, 9]average(finals - mocks) sonucu 9[1 kg, 2 kg] + [500 g, 500 g] sonucu [1.5 kg, 2.5 kg][72, 85] == [72, 85] sonucu trueİlk satır, 40 üzerinden verilen puanları yüzdeye dönüştürür. finals - mocks, her öğrencinin final puanından kendi deneme sınavı puanını çıkarır.
Bazı işlemler listelerde desteklenmez:
- Bir listeye tek bir sayı eklemek, örneğin
scores + 5gibi. Bunun yerinemap(s + 5, s, scores)kullanın. - Farklı uzunluklarda listeler ekleme. Uzunlukları eşleştirmek için değerler asla tekrarlanmaz.
*ile iki düz liste çarpımı. Çiftli çarpımların toplamı içindotkullanın:dot([2, 3, 1], [4, 5, 10])33eder, örneğin iki kahve 4, üç çay 5 ve bir kek 10'dur. Satır listeleri arasında*matris çarpımıdır ve Vektörler ve matrisler bölümünde ele alınmıştır.
Satırlardan oluşan listeler
Satırlardan oluşan liste küçük bir tablo gibi çalışır. average ve sum, her sütunu yukarıdan aşağıya işler. map ise satırları tek tek işleyebilir:
# Each row is one student: [mock, final]results = [[62, 72], [70, 78], [60, 69]]average(results) sonucu [64, 73]sum(results) sonucu [192, 219]map(average(r), r, results) sonucu [67, 74, 64.5]median, min, max ve stddev satır listelerini kabul etmez. Son satırda olduğu gibi satırlar üzerinde map kullanın veya bir sütunu kendi listesine çekin.
Tüm bu işlemler için kesin kurallar ileri matematik referansı'dedir.
Hepsini bir araya getirme
İşte bir akıllı saatten alınan bir haftalık adım sayıları ve günlük hedef:
# Steps, Monday to Sundaysteps = [8200, 10400, 6300, 12000, 9100, 7400, 9600]goal = 9000sum(steps) sonucu 63,000average(steps) sonucu 9,000median(steps) sonucu 9,100Days on target: count(filter(s >= goal, s, steps)) sonucu 4Spread: max(steps) - min(steps) sonucu 5,700# Roughly 0.75 m per stepwalked = sum(steps) * 0.75 mwalked in km sonucu 47.25 kmOrtalama tam olarak hedefe ulaşıyor, ancak sadece dört gün buna ulaştı ve en iyi ile en kötü günler arasında 5.700 adım var. goal değerini değiştirin veya gelecek haftanın sayımlarını yapıştırın ve her satır güncellenir.