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

পাইথনে ইমিউটেবল ভেক্টর (Immutable Vector) রিপ্রেজেন্ট করা

পাইথনে টাপল (Tuple) ব্যবহার করে ইমিউটেবল ভেক্টর রিপ্রেজেন্ট করা যায়। টাপল ইমিউটেবল, অর্ডার্ড এবং লিস্ট চেয়ে দ্রুত।

উদাহরণ

myVec = (10, 15, 21)

# অ্যাক্সেস
print(myVec[0])  # 10

# মিউটেশন চেষ্টা → Error
myVec[0] = 10  # TypeError: 'tuple' object does not support item assignment

ভেক্টর অপারেশন (হেল্পার ফাংশন)

def vec_add(v1, v2):
    return tuple(a + b for a, b in zip(v1, v2))

def vec_dot(v1, v2):
    return sum(a * b for a, b in zip(v1, v2))

def vec_scale(v, scalar):
    return tuple(x * scalar for x in v)

v1 = (1, 2, 3)
v2 = (4, 5, 6)
print(vec_add(v1, v2))    # (5, 7, 9)
print(vec_dot(v1, v2))    # 32
print(vec_scale(v1, 2))   # (2, 4, 6)

অলтернаেটিভ: NamedTuple (Python 3.6+)

from typing import NamedTuple

class Vector3D(NamedTuple):
    x: float
    y: float
    z: float

v = Vector3D(1.0, 2.0, 3.0)
print(v.x, v.y, v.z)  #Named attribute access

NumPy অ্যারে (পারফরম্যান্স)

বড় স্কেল ভেক্টর ম্যাথের জন্য numpy.array ব্যবহার করুন (মিউটেবল কিন্তু দ্রুত)।

  1. পাইথন টাপল স্লাইসিং কীভাবে করবেন?

  2. পাইথন টাপলের লিস্টের মাধ্যমে কীভাবে ইটারেট করবেন?

  3. পাইথনে cd কমান্ড চালানোর পদ্ধতি

  4. পাইথনে অপরিবর্তনশীল স্ট্রিং-এর আইডি পরিবর্তন করা