یکی از مفاهیم پیشرفته در استفاده از حلقههای "for" در پایتون، استفاده از تابع
itertools.chain
برای ترکیب چندین توالی بدون ایجاد یک لیست جدیده. این روش زمانی که نیاز به پیمایش دیتاستهای بزرگ هست و میخواین از مصرف حافظه زیاد جلوگیری کنین، مفیده.این کد تمام اعداد در
list1
و list2
رو پیمایش میکنه، بدون اینکه نیاز باشه یک لیست جدید و بزرگتر ایجاد شه.#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2👏1👨💻1
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥1👏1
حلقه while ابزار قدرتمندی برای تکرار دستورات تا زمان برآورده شدن یک شرطه.
sum = 0
while sum < 50:
number = float(input("یک عدد وارد کنید: "))
sum += number
print("جمع اعداد بیش از ۵۰ شد.")
else
با while، یک ویژگی منحصر به فرد در پایتونه که اجازه میده پس از اتمام حلقه، بدون شکستن حلقه، کد خاصی اجرا شه.count = 0
while count < 5:
print(count)
count += 1
else:
print("حلقه به اتمام رسید.")
0
1
2
3
4
حلقه به اتمام رسید.
while
در ترکیب با try-except
برای مدیریت خطاها در ورودیهای کاربر استفاده کنیم و مطمئن شیم که برنامه در صورت ورودی نامعتبر، متوقف نمیشه.while True:
try:
x = int(input("لطفاً یک عدد وارد کنید: "))
break
except ValueError:
print("مقدار وارد شده عدد نیست. دوباره امتحان کنید.")
while
میتونن برای اجرای وظایف به صورت موازی با استفاده از threading به کار برن. در نتیجه این امکان به وجود میاد که برنامههای تعاملیتر بسازیم.import threading
def print_numbers():
i = 0
while i < 10:
print(i)
i += 1
t = threading.Thread(target=print_numbers)
t.start()
# ادامه کد برای انجام دیگر وظایف در حین اجرای thread
with open('data.txt', 'r') as file:
while line := file.readline():
print(line.strip())
items = ['apple', 'banana', 'cherry']
index = 0
while index < len(items):
print(index, items[index])
index += 1
1 banana
2 cherry
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3🔥2👨💻2
d = {'A': 1, 'B': 2, 'C': 3}
while d:
print(d.popitem())
print('Done')
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
👍3
میشه از حلقه
while
در روش Divide and Conquer برای بهینهسازی پارامترهای مدل در یادگیری ماشین استفاده کرد. این روش با اجرای حلقه تا رسیدن به شرایط خاص، مثل حداکثر دقت مدل یا کاهش تفاوت پارامترها به کمتر از Threshold تعیینشده، مؤثره. این استراتژی، بهویژه برای Tuning دقیق مدلهای پیچیده که جستجوی دستی برای پارامترها ناکارآمده، مفیده.
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥2👨💻2
در پایتون، استفاده از
if
به عنوان پایهای برای بررسی شرایط مختلف، بسیار کاربردیه. میتونیم با استفاده از شرطهای ترکیبی و توابع، منطقهای بسیار پیچیدهای رو پیادهسازی کنیم.and
و or
به ما این امکان رو میدن که چندین معیار رو همزمان در نظر بگیریم.def check_temp_humidity(temp, humidity):
if temp > 30 and humidity > 50:
return "Hot and Humid"
elif temp > 30 or humidity > 50:
return "Hot or Humid"
else:
return "Comfortable"
print(check_temp_humidity(32, 55))
print(check_temp_humidity(32, 45))
def grade_evaluation(score):
if score >= 90:
if score >= 95:
return "A+"
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
else:
return "D"
print(grade_evaluation(96))
print(grade_evaluation(82))
elif
استفاده میکنیم.def traffic_light(color):
if color == "green":
return "Go"
elif color == "yellow":
return "Slow Down"
elif color == "red":
return "Stop"
else:
return "Invalid Color"
print(traffic_light("yellow"))
in
در if
برای بررسی وجود یک عنصر درون یک مجموعه، لیست، یا رشته استفاده میشه. همچنین از از not
برای برعکس کردن یک شرط میشه استفاده کرد.def check_membership(num, dataset):
if num in dataset:
return f"{num} is in the dataset."
else:
return f"{num} is not in the dataset."
dataset = {1, 3, 5, 7}
print(check_membership(3, dataset))
numbers = [1, 2, 3, 4, 5]
new_list = ["Even" if num % 2 == 0 else "Odd" for num in numbers]
print(new_list)
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥1👨💻1
در پایتون، زمانی که میخوایم چک کنیم یک متغیر
None
هست یا نه، باید از is
استفاده کنیم، نه از ==
. این یکی از توصیههای مهم در نوشتن شرطهای if
هست که حتی برنامهنویسان پیشرفته هم گاهی اوقات نادیده میگیرن! مقدار
None
یک نمونه منحصر به فرده و استاندارد پایتون (PEP 8) توصیه میکنه که برای مقایسه با این مقدار خاص از is
استفاده شه. استفاده از is
صحت و سرعت بالاتری داره. همچنین، این روش کد رو خواناتر و اجرای درست برنامه در شرایط مختلف رو تضمین میکنه.روش غلط:
if my_variable == None:
روش درست:
if my_variable is None:
# انجام عملیات خاصی اگر my_variable برابر با None باشد
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2👨💻2🤔1
توابع در برنامهنویسی، بلوکهای کدی هستن که برای اجرای گروهی دستوراتی مشخص، با هدف کاهش تکرار کد و افزایش خوانایی، تعریف میشن. این بلوکها میتونن دادهها رو به عنوان ورودی بگیرن، عملیات انجام بدن و نتایج رو برگردونن.
def calculate_accuracy(predictions, labels):
correct = sum(p == l for p, l in zip(predictions, labels))
accuracy = correct / len(labels)
return accuracy
# فرض کنید predictions و labels برچسبهای پیشبینی شده و واقعی هستند.
accuracy = calculate_accuracy(predictions, labels)
print(f"Accuracy: {accuracy:.2%}")
from sklearn.preprocessing import StandardScaler
def preprocess_data(data):
scaler = StandardScaler()
scaled_data = scaler.fit_transform(data)
return scaled_data
# فرض کنید data دادههای خام است.
scaled_data = preprocess_data(data)
from sklearn.model_selection import cross_val_score
def evaluate_model_with_cv(model, data, labels, cv=5):
scores = cross_val_score(model, data, labels, cv=cv)
return scores
# فرض کنید model مدل ماشین لرنینگ، data دادهها و labels برچسبها هستند.
cv_scores = evaluate_model_with_cv(best_model, scaled_data, labels)
print(f"CV Scores: {cv_scores}")
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1🤔1👨💻1
This media is not supported in your browser
VIEW IN TELEGRAM
تابع
()any
در پایتون برای بررسی اینکه آیا هر یک از عناصر داخل یک لیست یا Tuple برابر با True
هست یا نه، استفاده میشه. این تابع برای بررسی شرایط متعدد به صورت موازی بسیار مفیده و عملیاتهای محاسباتی پیچیده رو با استفاده از خطوط کد نسبتاً کم انجام میده.
این کد یک لیست از دشمنان رو نشون میده که هر دشمن به صورت یک دیکشنری تعریف شده و دارای دو کلید
type
و health
هست. اینجا تابع ()any
برای تعیین اینکه آیا هنوز دشمنی با سلامتی بالاتر از صفر (یعنی هنوز زنده) وجود داره یا نه، استفاده میشه.اگه حداقل یک دشمن با سلامتی بالاتر از صفر باشه، عبارت
The battle is not over!
چاپ میشه، که به این معنیه که مبارزه هنوز تموم نشده. اگر هیچ دشمن زندهای وجود نداشته باشه (یعنی سلامتی همه صفر یا کمتر باشه)، عبارت No more enemies remain!
چاپ میشه که نشوندهنده پایان مبارزهست.#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥1👨💻1
توابع Lambda در پایتون، توابعی هستن که به کمک کلیدواژه
lambda
تعریف میشن. این توابع به دلیل انعطافپذیری و امکان نوشتن در یک خط، برای انجام عملیاتهای سریع بسیار کاربرد دارن. این توابع میتونن هر تعداد پارامتر رو دریافت کنن اما تنها یک عبارت رو ارزیابی و مقدارش رو برمیگردونن. این عبارت به طور خودکار و بدون نیاز به استفاده از دستور
return
برگشت داده میشه.()filter
و ()map
و ()reduce
استفاده میشن که به ما اجازه میدن تا عملیاتهای پیچیدهتر رو بر روی دادهها اجرا کنیم.numbers = range(-5, 5)
negative_numbers = list(filter(lambda x: x < 0, numbers))
print(negative_numbers)
squared = list(map(lambda x: x ** 2, numbers))
print(squared)
from functools import reduce
# یافتن حاصل ضرب تمام اعداد در یک لیست
product = reduce(lambda x, y: x * y, [1, 2, 3, 4, 5])
print(product)
def apply_function(func, value):
return func(value)
result = apply_function(lambda x: x * x, 5)
print(result)
names = ['David', 'Brian', 'Alice', 'Catherine']
sorted_names = sorted(names, key=lambda name: len(name))
print(sorted_names)
data = [(1, 'd'), (2, 'b'), (3, 'c'), (4, 'a')]
# برای مرتبسازی یک لیست از تاپلها
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)
#Programming
#Python
@Data_ML | دیتاساینس و ماشین لرنینگ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1👏1