دوره ویژه مقدماتی پایتون – Telegram
دوره ویژه مقدماتی پایتون
436 subscribers
248 photos
4 videos
250 links
Download Telegram
به ترتیب از چپ به راست از کدام برای ساخت لیست، دیکشنری، و تاپل استفاده می شود؟

1️⃣: {} , (), []
️0%(0)
2️⃣: (), [], {}
️0%(0)
3️⃣: [], {}, ()
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(44)

👥: 44شرکت در نظر سنجی
✍️تاپل ها - (قسمت دوم)

تاپل ها میتوانند بدون پرانتز هم ساخته شوند ولی مقادیر باید با کاما از یکدیگر جداشوند.

my_tuple = "one", "two", "three"
print(my_tuple[0])

خروجی :
>>>
one
>>>

📌یک تاپل خالی، به این صورت ساخته میشود:
tpl = ()

💡تاپل ها از لیست ها سریع تر هستند، اما نمی توانند تغییر کنند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
نتیجه کد زیر چیست ؟
tuple = (1, (1, 2, 3))‎
print(tuple[1])

1️⃣: ((1, 2, 3))
️0%(0)
2️⃣: 1
️0%(0)
3️⃣: (1 , 2, 3)
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(45)

👥: 45شرکت در نظر سنجی
✍️برش های لیست (list slices)

برش های لیستی یک راه پیشرفته تر برای بازیابی مقادیر از لیست هستند. برای ایجاد کردن برش لیست، از اندیس مقادیر و نماد : استفاده میکنیم، که یک لیست جدید ایجاد می کند که شامل قسمتی بین اندیس های داده شده، در همان لیست قبلی است.

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[2:6])
print(squares[3:8])
print(squares[0:1])

خروجی :
>>>
[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
>>>

📌مانند ورودی های تابع range، اولین اندیس در برش لیست وجود دارد اما اندیس دوم وجود ندارد.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
نتیجه کد زیر چیست ؟
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64]‎
print(sqs[4:7])

1️⃣: [25,36,49]
️0%(0)
2️⃣: [16,25,36,49]
️0%(0)
3️⃣: [16,25,36]
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)

👥: 36شرکت در نظر سنجی
✍️برش لیست ها - (قسمت دوم)

اگر عدد اول در برش لیست ذکر نشده باشد، از اول لیست در نظر گرفته میشود و اگر عدد دوم ذکر نشده باشد، انتهای لیست را در نظر میگیرد.

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[:7])
print(squares[7:])

خروجی :
>>>
[0, 1, 4, 9, 16, 25, 36]
[49, 64, 81]
>>>

📌برش می تواند بر روی تاپل ها هم اعمال شود.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
کد گزینه صحیح است.
میخواهیم دو عنصر اول لیست زیر را مشاهده کنیم:
list = ["a", "b", "c", "d"]‎

1️⃣: a = list[0:1]
️0%(0)
2️⃣: a = list(1:2)
️0%(0)
3️⃣: a = list[0:2]
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)

👥: 36شرکت در نظر سنجی
برش لیست ها - (قسمت سوم)

برش لیست ها میتوانند یک آرگومان سومی نیز داشته باشند، که تعداد گام ها را در مشخص میکند به مثال توجه کنید .

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[::2])
print(squares[2:8:3])

خروجی :
>>>
[0, 4, 16, 36, 64]
[4, 25]
>>>

📌[2:8:3] شامل اعداد بین اندیس 2 و 8 است، با فاصله ی 3.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
نتیجه کد زیر چیست ؟
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]‎
print(sqs[1::4])

1️⃣: خطا رخ داد
️0%(0)
2️⃣: [1 , 25]
️0%(0)
3️⃣: [1,25,81]
️||||||||||||||||||||||||||||||||||||||||||||||||97%(34)
4️⃣: [0,1,4]
️|3%(1)

👥: 35شرکت در نظر سنجی
✍️برش لیست ها - (قسمت چهارم)

مقادیر منفی می توانند در برش لیستها وجود داشته باشند. روش کار آن به این صورت است که اگر در اندیس اول یا دوم برش لیست عدد منفی قرار بگیرد، برای رسیدن به آن اندیس از انتهای لیست میشماریم.

squares = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(squares[1:-1])

خروجی :
>>>
[1, 4, 9, 16, 25, 36, 49, 64]
>>>

📌اگر مقدار منفی برای گام مورد استفاده قرار گیرد لیست را برعکس میکند.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
حاصل کد زیر چیست ؟
sqs = [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
print(sqs[7:5:-1])

1️⃣: [49,36]
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(35)
2️⃣: [49]
️0%(0)
3️⃣: []
️0%(0)

👥: 35شرکت در نظر سنجی
✍️list comprehensions

این روش یک راه معروف برای ساخت لیست هایی است که از یک قاعده ساده پیروی می کنند.

# a list comprehension
cubes = [i**3 for i in range(5)]

print(cubes)

خروجی :
>>>
[0, 1, 8, 27, 64]
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
کد زیر چه چیزی را چاپ میکند ؟
nums = [i*2 for i in range(10)]‎

1️⃣: اعداد زوج بین 0 تا 20
️||5%(2)
2️⃣: تمامی اعداد بین 0 تا 20
️|3%(1)
3️⃣: اعداد زوج بین 0 تا 18
️||||||||||||||||||||||||||||||||||||||||||||||92%(34)

👥: 37شرکت در نظر سنجی
✍️list comprehensions (2)

همچنین میتوانید list comprehension ها را با یک دستور شرطی if ترکیب کنید که یک شرط را بر روی مقادیر لیست اعمال کنید.

evens=[i**2 for i in range(10) if i**2 % 2 == 0]

print(evens)

خروجی :
>>>
[0, 4, 16, 36, 64]
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
گزینه صحیح را انتخاب کنید : اعداد مضرب 3 تا 20 را نمایش دهید.

1️⃣: a = [ i for i in range(20) if i % 3 ==0 ]
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(34)
2️⃣: a = ( i for i in range(10) if i % 3 == 0)
️0%(0)
3️⃣: a = [i for in range(20) if i % 3 == 0]
️0%(0)

👥: 34شرکت در نظر سنجی
برای ساخت یک لیست در یک محدوده ی بسیار گسترده، باعث ایجاد MemoryError می شود. در زیر مثالی نشان داده شده است که list comprehension باعث ایجاد اجرا در خارج از محدوده ی حافظه می شود.

even = [2*i for i in range(10**100)]

خروجی :
>>>
MemoryError
>>>

📌این مشکل با generator ها حل شد.

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
✍️اعمال format در رشته ها

تا اینجا ، رشته و غیر رشته را ترکیب کردیم ، و شما غیر رشته را به رشته تبدیل کردید و به هم اضافه کردید. format کردن رشته، یک راه قوی تر برای جاسازی غیر رشته ها درون رشته ها است.

متد Format در رشته ها، اعداد را درون رشته ها جایگزاری می کند.

# string formatting
nums = [4, 5, 6]
msg = "Numbers: {0} {1} {2}". format(nums[0], nums[1], nums[2])
print(msg)

خروجی :
>>>
Numbers: 4 5 6
>>>

📌هر ورودی تابع format، در جای درست خودش در رشته جایگزاری می شود، که با {} نمایش داده می شود.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
خروجی زیر چیست ؟
print("{0}{1}{0}".format("abra", "cad"))‎

1️⃣: abracadabra
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(40)
2️⃣: abracad
️0%(0)
3️⃣: cadabraabra
️0%(0)

👥: 40شرکت در نظر سنجی
خروجی کد زیر چیست ؟
str="{c}, {b}, {a}".format(a=5, b=9, c=7)‎
print(str)

1️⃣: 9 , 7, 5
️0%(0)
2️⃣: 7, 9, 5
️||||||||||||||||||||||||||||||||||||||||||||||||||100%(36)
3️⃣: 5, 9, 7
️0%(0)

👥: 36شرکت در نظر سنجی
✍️اعمال format در رشته ها - (قسمت دوم)

این روش می تواند با استفاده از نام آرگومان ها نیز اعمال شود.

a = "{x}, {y}".format(x=5, y=12)
print(a)

خروجی :
>>>
5, 12
>>>

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge
✍️توابع پرکاربرد

به مثال زیر توجه کنید :
print(", ".join(["spam", "eggs", "ham"]))
#prints "spam, eggs, ham"
این تابع، یک لیست از رشته ها را با جدا کننده ی مشخص شده در رشته ی دیگر، با هم ترکیب می کند.

print("Hello ME".replace("ME", "world"))
#prints "Hello world"
این تابع برای جایگزین کردن به کار میرود، همان طور که در مثال مشاهده مینمایید world جایگزین ME شده است.

print("This is a sentence.".startswith("This"))
# prints "True"
این تابع اولین رشته را بررسی میکند اگر برابر با مقدار ورودی خودش بود True را نمایش میدهد.

print("This is a sentence.".endswith("sentence."))
# prints "True"
این تابع آخرین رشته را بررسی میکند اگر برابر با مقدار ورودی خودش بود True را نمایش میدهد.

بعد مطالعه متن فوق به سوال زیر لطفا پاسخ بدهید:

🗂 مرکز آموزش پایتون

🆔 : @pythonchallenge