لیست و تاپل
- لیست بسازی، به آن اضافه کنی و جمعش را حساب کنی
- با شماره (index) به خانهها دسترسی داشته باشی
- تاپل را بشناسی و آن را «باز» (unpack) کنی
- لیستی از تاپلها و لیستی از دیکشنریها را بخوانی
لیست
لیست چند مقدار را به ترتیب نگه میدارد. داخل [] و با کاما جدا میشود:
خودت امتحان کن
شمارهی خانهها از صفر شروع میشود. در لیست سهتایی، شمارهها ۰، ۱ و ۲ هستند و sales[3] خطای IndexError میدهد.
فروشها در یک لیست نگه داشته میشوند: self.sales = [] در خط ۱۱ پروژه، و هر فروش با append در خط ۵۹ پروژه به آخرش اضافه میشود.
ثبت فروشها
به لیست خالی sales سه عدد 3000، 1500 و 4200 را با append اضافه کن، بعد جمعشان را در total بگذار.
دیدن راهحل (اول خودت تلاش کن)
sales = [] sales.append(3000) sales.append(1500) sales.append(4200) total = sum(sales)
تاپل: لیستی که عوض نمیشود
تاپل با () ساخته میشود و بعد از ساختن قابل تغییر نیست. برای چیزهای ثابت عالی است، مثل اسم ستونهای جدول:
columns = ('name', 'buy', 'sell', 'qty')
اسم ستونهای جدول در خط ۱۳۶ پروژه یک تاپل است.
باز کردن (unpacking)
اگر تعداد متغیرهای سمت چپ با تعداد اعضا یکی باشد، هر عضو در یک متغیر میرود:
خودت امتحان کن
وقتی روی یک ردیف جدول کلیک میشود، خط ۱۲۴ پروژه مقدارهای آن ردیف را همینطور در چهار متغیر باز میکند. و return name, buy, sell, qty در خط ۸۲ پروژه یک تاپل چهارتایی برمیگرداند.
سود یک ردیف
تاپل row را در چهار متغیر name, buy, sell, qty باز کن و سود کل را در profit بگذار: (sell - buy) * qty.
دیدن راهحل (اول خودت تلاش کن)
row = ("pen", 10, 15, 3) name, buy, sell, qty = row profit = (sell - buy) * qty
لیستی از تاپلها
اعضای لیست میتوانند خودشان تاپل باشند. این روش خوبی برای جفت کردن چیزهاست، مثلاً متن دکمه و کارش:
buttons = [('افزودن کالا', 'add'), ('حذف کالا', 'delete')]
label, action = buttons[0]
print(label) # افزودن کالا
لیست buttons در خط ۱۲۹ پروژه و خط ۱۳۰ پروژه دقیقاً همین شکل را دارد، با این فرق که بهجای متن 'add' خود تابع add آمده است.
خطها را مرتب کن
این خطها باید یک لیست بسازند، دو فروش اضافه کنند و جمع را چاپ کنند. مرتبشان کن.
sales.append(3000)total = sum(sales)sales = []print(total)sales.append(1500)
آزمون این درس
برای گذراندن این درس حداقل ۸۰٪ جواب درست لازم است. هر چند بار خواستی میتوانی دوباره امتحان بدهی.