map(function, iterable, ...)
Fonksiyonu yinelenebilir öğelerin her birine uygulayın ve sonuçların bir listesini döndürün. Ek yinelenebilir argümanlar iletilirse, işlev bu kadar çok argümanı almalı ve tüm yinelenebilir öğelerdeki öğelere paralel olarak uygulanmalıdır.
Bir yinelenebilir diğerinden daha kısaysa, Hiçbiri öğelerle genişletildiği varsayılır.
İşlev ise None
, kimlik işlevi varsayılır; birden fazla bağımsız değişken varsa map()
, tüm yinelenebilir öğelerden (bir tür transpoze işlemi) karşılık gelen öğeleri içeren gruplardan oluşan bir liste döndürür.
Yinelenebilir argümanlar bir dizi veya yinelenebilir herhangi bir nesne olabilir; sonuç her zaman bir listedir.
Bunun Kartezyen bir ürün yapımında rolü nedir?
content = map(tuple, array)
Orada herhangi bir yere bir demet koymak ne gibi bir etkiye sahiptir? Ayrıca harita fonksiyonu olmadan çıkışın abc
ve onunla birlikte olduğunu fark ettim a, b, c
.
Bu işlevi tam olarak anlamak istiyorum. Referans tanımlarını da anlamak zordur. Çok süslü tüy.
map(None, a, b, c)
çıkıyor zip(a, b, c)
. Ancak uygulamada bunun çok nadir olduğunu görürsünüz, çünkü tam olarak zip
çağrı eşdeğerdir.
tuple
bir yinelemeyi alan ve aynı öğelere sahip bir demet veren - yani tuple([1, 2, 3])
eşdeğerdir (1, 2, 3)
. Çünkü map(tuple, array)
, array
yinelenebilir bir yinelenebilir olurdu (bir liste listesi düşünün) ve size bir iç kısma dönüşen her iç listeyi geri verir.
map
?