map
ফাংশন এখানে খুব উপযোগী হতে পারে। ব্যবহার করে map
আমরা একটি পুনরাবৃত্তীয় প্রতিটি উপাদান কোনও ফাংশন প্রয়োগ করতে পারেন।
পাইথন 3.x
>>> def my_mul(x,y):
... return x*y
...
>>> a = [1,2,3,4]
>>> b = [2,3,4,5]
>>>
>>> list(map(my_mul,a,b))
[2, 6, 12, 20]
>>>
অবশ্যই:
map(f, iterable)
সমতুল্য
[f(x) for x in iterable]
সুতরাং আমরা এর মাধ্যমে আমাদের সমাধান পেতে পারি:
>>> [my_mul(x,y) for x, y in zip(a,b)]
[2, 6, 12, 20]
>>>
পাইথন ২.x এর map()
অর্থ: একটি পুনরাবৃত্তীয় প্রতিটি উপাদানকে একটি ফাংশন প্রয়োগ করুন এবং একটি নতুন তালিকা তৈরি করুন। পাইথন ৩.x এ map
তালিকার পরিবর্তে পুনরাবৃত্তকারী নির্মাণ করুন।
পরিবর্তে my_mul
আমরা mul
অপারেটর ব্যবহার করতে পারে
পাইথন 2.7
>>>from operator import mul # import mul operator
>>>a = [1,2,3,4]
>>>b = [2,3,4,5]
>>>map(mul,a,b)
[2, 6, 12, 20]
>>>
পাইথন 3.5+
>>> from operator import mul
>>> a = [1,2,3,4]
>>> b = [2,3,4,5]
>>> [*map(mul,a,b)]
[2, 6, 12, 20]
>>>
দয়া করে নোট করুন যেহেতু map()
একটি আয়রেটর তৈরি করে আমরা *
একটি তালিকা পাওয়ার জন্য পুনরাবৃত্তিযোগ্য আনপ্যাকিং অপারেটরটি ব্যবহার করি । আনপ্যাকিং পদ্ধতিটি list
নির্মাণকারীর থেকে কিছুটা দ্রুত :
>>> list(map(mul,a,b))
[2, 6, 12, 20]
>>>