কম্পিউটার টিউটোরিয়াল

প্রোগ্রামারদের জন্য অপরিহার্য পাইথন টিপস এবং ট্রিকস


এই আর্টিকেলে আমরা কিছু ব্যবহারী পাইথন ট্রিকস ও টিপস আলোচনা করব যা প্রতিযোগিতামূলক প্রোগ্রামিং বা কোম্পানির কাজে লিখতে গেলে খুব কাজে আসবে, কারণ এগুলো কোড সংক্ষিপ্ত করে এবং এক্সিকিউশন অপ্টিমাইজ করে।

দুই সংখ্যা ইন-প্লেস (In-Place) সোয়াপ করা

x, y = 50, 70
print(x, y)
# সোয়াপিং
x, y = y, x
print(x, y)

আউটপুট

50 70
70 50

একটি লিস্ট থেকে একক স্ট্রিং তৈরি করা

lst = ['What', 'a', 'fine', 'morning']
print(" ".join(lst))

আউটপুট

What a fine morning

লিস্ট থেকে ডুপ্লিকেট মুছে ফেলা

# লিস্ট থেকে ডুপ্লিকেট মুছে ফেলা
# এই মেথড অর্ডার সংরক্ষণ করে না
lst = [2, 4, 4, 9, 13, 4, 2]
print("Original list: ", lst)
new_lst = list(set(lst))
print(new_lst)

# নিচের মেথড অর্ডার সংরক্ষণ করবে
from collections import OrderedDict
lst = [2, 4, 4, 9, 13, 4, 2]
print(list(OrderedDict.fromkeys(lst).keys()))

আউটপুট

Original list: [2, 4, 4, 9, 13, 4, 2]
[9, 2, 4, 13]
[2, 4, 9, 13]

স্ট্রিং রিভার্স করা

# স্ট্রিং রিভার্স
s = "Hello, World!"
print(s[::-1])
letters = ("abcdefghijklmnopqrstuvwxyz")
print(letters[::-1])

আউটপুট

!dlroW ,olleH
zyxwvutsrqponmlkjihgfedcba

লিস্ট রিভার্স করা

# লিস্ট রিভার্স
lst = [20, 40, 60, 80]
print(lst[::-1])

আউটপুট

[80, 60, 40, 20]

দুই-মাত্রিক অ্যারে ট্রান্সপোজ (Transpose) করা

# ২D অ্যারে ট্রান্সপোজ, অর্থাৎ ম্যাট্রিক্স ২x৩ হলে ট্রান্সপোজে ৩x২ হবে
matrix = [['a', 'b', 'c'], ['d', 'e', 'f']]
transMatrix = zip(*matrix)
print(list(transMatrix))

আউটপুট

[('a', 'd'), ('b', 'e'), ('c', 'f')]

দুই স্ট্রিং ಅನাগ্রাম (Anagram) কিনা যাচাই করা

# দুটি স্ট্রিং অনাগ্রাম কিনা যাচাই
from collections import Counter
def is_anagram(str1, str2):
    return Counter(str1) == Counter(str2)

print(is_anagram('hello', 'ollhe'))
print(is_anagram('Hello', 'hello'))

আউটপুট

True
False

পাইথনে অবজেক্ট ইন্সপেক্ট (Inspect) করা

# পাইথনে অবজেক্ট ইন্সপেক্ট
lst = [1, 3, 4, 7, 9]
print(dir(lst))

আউটপুট

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

লিস্ট এনিউমারেট (Enumerate) করা

# লিস্ট এনিউমারেট
lst = [20, 10, 40, 50, 30, 40]
for i, value in enumerate(lst):
    print(i, ': ', value)

আউটপুট

0 : 20
1 : 10
2 : 40
3 : 50
4 : 30
5 : 40

যেকোনো সংখ্যার ফ্যাক্টোরিয়াল বের করা

# যেকোনো সংখ্যার ফ্যাক্টোরিয়াল
import functools
result = (lambda s: functools.reduce(int.__mul__, range(1, s+1), 1))(5)
print(result)

আউটপুট

120

দুটি সম্পর্কিত সিকোয়েন্স থেকে ডিকশনারি তৈরি করা

# দুটি সম্পর্কিত সিকোয়েন্স থেকে ডিকশনারি তৈরি
x1 = ('Name', 'EmpId', 'Sector')
y1 = ('Zack', 4005, 'Finance')
print(dict(zip(x1, y1)))

আউটপুট

{'Name': 'Zack', 'EmpId': 4005, 'Sector': 'Finance'}
  1. গুগল ড্রাইভ ব্যবহার করার ১০ টিপস এবং ট্রিকস

  2. গুগল ডক্সের ৫টি অপরিহার্য টিপস ও ট্রিকস যা আপনার জানা দরকার

  3. লুকানো ফিচার আনলক করুন: আইফোন ক্যালকুলেটরের ৭টি এক্সপার্ট টিপস

  4. পאוয়ারপয়েন্টে আপনার প্রেজেন্টেশন উন্নত করার ৫টি এক্সপার্ট টিপস ও ট্রিকস