راههای مختلف برای ساخت دیکشنری با استفاده از لیست
میتوان گفت که دیکشنریها یکی از مهمترین ساختارهای دادهای در پایتون هستند که به ذخیرهسازی و دسترسی سریع به اطلاعات کمک میکنند.
#dict | #list | #بدانیم | LearnPython
چکلیستی کامل از دستورات و متدهای مربوط به لیستها (Lists) در پایتون
1. ایجاد لیست
- ایجاد یک لیست خالی:
my_list = []
- ایجاد یک لیست با مقادیر اولیه:
my_list = [1, 2, 3, 4, 5]
---
2. اضافه کردن عناصر به لیست
- اضافه کردن یک عنصر به انتهای لیست با append():
my_list.append(6)
- اضافه کردن چند عنصر به انتهای لیست با extend():
my_list.extend([7, 8, 9])
- اضافه کردن یک عنصر در موقعیت مشخص با insert():
my_list.insert(0, 0) # اضافه کردن عدد 0 در ابتدای لیست
---
3. حذف عناصر از لیست
- حذف یک عنصر بر اساس مقدار با remove():
my_list.remove(3) # اولین عنصر با مقدار 3 را حذف میکند
- حذف یک عنصر بر اساس ایندکس با pop():
my_list.pop(2) # عنصر در ایندکس 2 را حذف میکند
- حذف آخرین عنصر لیست با pop() (بدون آرگومان):
my_list.pop()
- حذف همه عناصر لیست با clear():
my_list.clear()
---
4. دسترسی به عناصر لیست
- دسترسی به عنصر بر اساس ایندکس:
first_element = my_list[0]
- دسترسی به آخرین عنصر:
last_element = my_list[-1]
- دسترسی به یک بازه از عناصر (Slicing):
sub_list = my_list[1:4] # عناصر از ایندکس 1 تا 3
---
5. تغییر عناصر لیست
- تغییر مقدار یک عنصر:
my_list[2] = 10 # مقدار عنصر در ایندکس 2 را به 10 تغییر میدهد
- تغییر مقدار چند عنصر با Slicing:
my_list[1:3] = [20, 30] # عناصر در ایندکس 1 و 2 را تغییر میدهد
---
6. جستوجو در لیست
- بررسی وجود یک عنصر در لیست با in:
if 5 in my_list:
print("5 در لیست وجود دارد")
- پیدا کردن ایندکس یک عنصر با index():
index = my_list.index(4) # ایندکس اولین عنصر با مقدار 4 را برمیگرداند
---
7. مرتبسازی لیست
- مرتبسازی صعودی لیست با sort():
my_list.sort()
- مرتبسازی نزولی لیست با sort(reverse=True):
my_list.sort(reverse=True)
- برعکس کردن ترتیب لیست با reverse():
my_list.reverse()
---
8. کپی کردن لیست
- ایجاد یک کپی سطحی از لیست با copy():
new_list = my_list.copy()
- ایجاد یک کپی سطحی با Slicing:
new_list = my_list[:]
---
9. عملیاتهای دیگر
- اندازه لیست (تعداد عناصر) با len():
length = len(my_list)
- شمارش تعداد تکرار یک عنصر با count():
count = my_list.count(5) # تعداد تکرار عدد 5 در لیست
- ترکیب دو لیست با عملگر +:
combined_list = my_list + [10, 11, 12]
- تکرار لیست با عملگر *:
repeated_list = my_list * 2 # لیست را دو بار تکرار میکند
---
10. لیستهای تو در تو (Nested Lists)
- ایجاد یک لیست تو در تو:
nested_list = [[1, 2], [3, 4], [5, 6]]
- دسترسی به عناصر لیست تو در تو:
element = nested_list[1][0] # مقدار 3 را برمیگرداند
---
11. List Comprehension
- ایجاد لیست جدید با List Comprehension:
squares = [x**2 for x in range(10)]
- فیلتر کردن عناصر با List Comprehension:
even_numbers = [x for x in range(10) if x % 2 == 0]
---
لیستها در پایتون یکی از پرکاربردترین ساختارهای داده هستند و با استفاده از دستورات و متدهای بالا میتوانید بهراحتی با آنها کار کنید. این چکلیست به شما کمک میکند تا عملیاتهای رایج روی لیستها را بهخاطر بسپارید و از آنها استفاده کنید.
#list | learnpythonicy | #بدانیم
✔️ حذف None و مقادیر تکراری با حفظ ترتیب در پایتون
در بسیاری از سناریوهای واقعی (دیتاپروسسینگ، لاگها، ورودی کاربر)،
علاوه بر حذف مقادیر تکراری و None، حفظ ترتیب عناصر هم اهمیت دارد.
در این حالت استفاده از set مناسب نیست، چون ترتیب را از بین میبرد.
راهحل تمیز و پایتونیک، استفاده از dict.fromkeys است:
data = [1, 2, None, 3, 2, None, 4, 1]
clean_data = list(dict.fromkeys(x for x in data if x is not None))
print(clean_data)
📌 خروجی:
[1, 2, 3, 4]
🔍 مزایا
. ترتیب لیست حفظ میشود
. بدون حلقهی دستی
. مناسب پیشپردازش دیتا
⚠️ نکته:
این روش از پایتون 3.7 به بعد کاملاً قابل اعتماد است (ترتیب دیکشنری حفظ میشود).
#fromkeys | #dict | #list | #none | @LearnPythonIcy