>>> a=[i for i in range(11)]

>>> b=[i for i in range(11,21)]

>>> c=zip(a,b)

>>> set(c)

{(1, 12), (5, 16), (9, 20), (4, 15), (7, 18), (0, 11), (2, 13), (8, 19), (6, 17), (3, 14)}

এটা কিভাবে কাজ করে?

asked 22 Sep, 06:44

DDnath's gravatar image

DDnath
1935

edited 27 Sep, 04:19

menon's gravatar image

menon
3.9k222

1

এটা কিভাবে কাজ করে বুঝতে চাইলে পাইথনের অফিশিয়াল টিউটোরিয়াল দেখতে হবে কিংবা পাইথন বই পড়ে বুঝতে হবে। এমনি এমনি তো একটা কোড দিয়ে কিভাবে কাজ করে জিজ্ঞাসা করলে হবে না। কারণ এই প্রশ্নের উত্তর দিতে ১০০ লাইন লেখতে হবে। :)


উল্টা দিকে থেকে দেখা যাক ।

set : সেট এমন একটা জিনিস সেটাতে একই ধরনের জিনিস একটায় রাখা যায় । নিচের উদাহরণ দেখেন,

>>> a = [1, 2, 2, 5]
>>> 
>>> s = set(a)
>>> s
{1, 2, 5}
>>> a = [1, 1, 2, 2, 2]
>>> s = set(a)
>>> s
{1, 2}
>>>

zip: এটা ইনপুট হিসাবে iterable অবজেক্ট নেয় এবং প্রত্যেক ইটারেবল এর i'th element নিয়ে tuples বানায়া ফেল ।

>>> a = [1, 2, 3]
>>> b = [4, 5, 6]
>>> ziped_set = set(zip(a, b))
>>> ziped_set
{(2, 5), (1, 4), (3, 6)}
>>> c = [7, 8, 9]
>>> ziped_set = set(zip(a, b, c))
>>> ziped_set
{(2, 5, 8), (1, 4, 7), (3, 6, 9)}
>>>

যদি ইটারেবল অবজেক্ট এর length ভিন্ন ভিন্ন হয় তবে যেটার length সবচেয়ে কম ততগুলো tuples রিটার্ন করবে ।

a = [i for i in range(11)] এটা কে বলে লিস্ট কম্প্রিহেন্সন । একটা উদারহন দেই ।

>>> a = []
>>> for i in range(10):
...     a.append(i)
... 
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>

এখানে আমরা কি করেছি ? a নামে একটা ফাঁকা লিস্ট নিয়েছি পরে সেটার মধ্যে ০ থেকে ৯ পর্যন্ত সংখ্যা রেখে দিয়েছি । তো এই কাজ করার জন্য আমার ৩ লাইন লিখতে হয়েছে । এই কাজ টা আমরা ইচ্ছা করলে এক লাইনে লিখতে পারি । এক লাইনে লিখতে হলে,

>>> a = [i for i in range(10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>

এখন মনে হয় আপনি আপনার কোড টা বুঝতে পারবেন ।

উপরে যেগুলো বললাম সেগুলো সম্পর্কে আরও জানতে চাইলে,

  1. see set in python

  2. see zip in python

  3. see list comprehensions in python

ধন্যবাদ :)

permanent link

answered 23 Sep, 18:06

menon's gravatar image

menon
3.9k222

1

আমি আসলে এই ধরণের প্রশ্নের উত্তর দেওয়াকে উৎসাহিত করি না। কারণ প্রশ্ন দেখেই বোঝা যাচ্ছে প্রশ্নকারীর পাইথন সম্পর্কিত জ্ঞানের অবস্থা। সে আসলে ব্যাপক অলস, তাই নিজে থেকে কিছু না শিখেই একটা কোড তুলে দিয়ে বোঝাতে বলেছে। :)

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×70
×34

question asked: 22 Sep, 06:44

question was seen: 163 times

last updated: 27 Sep, 04:19