در این آموزش به صورت خیلی کامل به بررسی متد split در پایتون (python) میپردازیم! که برای string ها (رشته ها) مورد استفاده قرار میگیرد!
در واقع split یک مِتُد (Method) است! که اگر برای یک string (به معنی «رشته» یا «متن») استفاده بشه، میاد اون رو به عناصرش میشکنه! (احتمالاً متوجه نشدید! ولی اشکال نداره، تووی مثال برامون ملموستر خواهد بود!)
متغیر a رو به صورت زیر تعریف کردیم!
a="Sajjad Rahmani from Koolac Website"
همینطور که میبینید، این متغیر یک متن (رشته یا String) دَرِش ذخیره شده! و حالا اگر از متد split براش استفاده کنیم، میاد، اجزاء این بندهخدا (یعنی متغیر a) رو از هم تفکیک میکنه! (split یعنی تفکیک کردن!)
یعنی اون متن رو تبدیل میکنه به لیستی شامل موارد زیر!:
['Sajjad', 'Rahmani', 'from', 'Koolac', 'Website']
برای این کار کافیه بنویسیم:!
a="Sajjad Rahmani from Koolac Website" print(a.split()) print(type(a.split()))
خط 1 که مشخصه، اومدیم هموووون متغیر a رو تعریف کردیم!
اما در خط 2 داریم میگیم a رو split کن! و بعد دست آخر چاپش کن!
در خط 3 هم میگیم نوعِ، این چیزی که split شدهی متغیر a است رو به ما نشون بده تا مطمئن بشیم این سجّاد رحمانی توی وبسایت کولاک درست گفت که خروجی یک لیست میشه!!
مطلب مشابه پیشنهادی:
آموزش لیست ها (lists) در پایتون (Python)
خروجی این قطعه کد میشه:!
توی بخش قبلی، با کلیت متد split در پایتون (Python) آشنا شدیم! حالا میخوایم بریم سراغ پله بعد!
مثلاً متغیر b رو به صورت زیر در نظر بگیرید!
b="Sajjad, Rahmani, from, Koolac, Website"
قبول دارید اینجا، اعضای داخل این رشته (یا متن یا String) با «یه دووونه , و یه دووونه فاصله» از هم جدا شدن؟! باید قبول داشته باشید، علیالاصول!
حالا اینو باید چجوری به متد split در پایتون (python) بفهمونیم؟!
جواب اینه که کافیه به صورت زیر بنویسیم!:
print(b.split(", "))
دیگه اینجا، عملاً داریم میگیم، آقای پایتون (python) بیا متغیر b رو split کن (تفکیک کن!) منتهی حواست باشه که اووون چیزی که قراره مؤلفهها رو از هم جداکنه «یه دونه , و یه دونه فاصله» است!
که خروجی بازهم میشه:!
['Sajjad', 'Rahmani', 'from', 'Koolac', 'Website']
الان میتونید برید تمرین آخر این آموزش رو حل کنید!
دوباره متغیر c رو به صورت زیر در نظر بگیرید تا توضیح بدیم!
c="Sajjad-Rahmani-from-Koolac-Website"
خب! حالا قطعه کد زیر رو در نظر بگیرید:
print(c.split("-",1))
این میاد میگه، آقای پایتون (Python)! محبت کن مولفههای متغیر c رو از هم تفکیک کن! (با علم به این نکته که چیزی که جداکننده مولفههاست همووون – است!)
البته حواست باشه، فقط 1 دونه مولفه رو جداکن، بقیه رو بذار کنار!
احتمالاً میپرسید یعنی چی؟! من هم باید در جوابتون سوال بپرسم! به من بگید، مولفه اول اون متغیر c چیست؟! (علیالاصول جواب میدید: Sajjad !)
خب! پس این متد split در پایتون (Python) میاد Sajjad رو جدا میکنه و بقیه رو میذاره کنار! منظورم از «بقیه» رو در زیر آوردم:!
مولفه اول: Sajjad
بقیه: Rahmani-from-Koolac-Website
پس خروجی میشه:!
['Sajjad', 'Rahmani-from-Koolac-Website']
یه مثال دیگه:
به نظرتون اگر برای همون متغیر c بیایم بگیم:
print(c.split("-",3))
خروجی چی میشه؟! [اینو اول فکر کنید، بعد جواب من رو نگاه کنید! احتمالاً خودتون بتونید حل کنید!]
بله درسته! میاد 3 مولفه رو جدا میکنه و بقیه رو میذاره یه کنار!
مولفه اول: Sajjad
مولفه دوم: Rahmani
مولفه سوم: from
بقیه: Koolac-Website
که خروجیش میشه!:
['Sajjad', 'Rahmani', 'from', 'Koolac-Website']
تمرین 1: تفکیک (split کردن) در هر یک از موارد چگونه اتفاق میافتد؟!
c="I'm Sajjad Rahmani."
تمرین 2: در پایتون (python) چجوری میتونیم، رشته زیر رو براساس «:» از هم جدا کنیم؟! خروجی نهایی چی میشه؟!
c="I'm:Sajjad:Rahmani:"
تمرین 3: متغیر زیر را در نظر بگیرید و برای بندهای الف تا پ بگید که خروجی چی میشه و تحلیلشما از خروجی چیست؟! (یعنی تفسیر کنید که چرا خروجی فلان شد!)
c="Sajjad-Rahmani-from-Koolac-Website"
الف)
print(c.split("-",4))
ب)
print(c.split("-",0))
پ)
print(c.split("-",5))
تمرین1 !
["I'm", 'Sajjad', 'Rahmani.']
تمرین 2 !
["I'm", 'Sajjad', 'Rahmani', '']
تمرین 3 !
الف)!
['Sajjad', 'Rahmani', 'from', 'Koolac', 'Website']
گفته 4 تا مولفه رو تفکیک کن و بقیه رو بذار کنار! 4 تا مولفه میشه Sajjad و Rahmani و from و Koolac و بقیه هم میشه Website!
ب)!
['Sajjad-Rahmani-from-Koolac-Website']
یعنی 0 تا مولفه رو تفکیک کن و بقیه (یعنه همهی رشته یا string) رو بذار کنار!
پ)!
یعنی 5 تا مولفه رو تفکیک کن و بقیه (که میشه 0 مولفه) رو بذار کنار!
هرچند سعی کردیم توضیح کاملی بدیم! اما اگر جایی رو متوجه نشدید، در بخش نظرات با ما در میون بذارید، قطعاً درخدمتتون هستیم!
در این بخش برخی از سوالاتی که کاربران عزیز کولاک پرسیدن رو مطرح میکنیم و جوابشون رو هم میدیم! چون ممکنه سوال شما هم باشه!
متن سوال: در واقع الان کد رو اینطوری نوشتم!:
a="python is good" b=a.split("*") print(b)
در خروجی تفکیک نشده جمله! یعنی دستور split فقط دابل کوتیشن با فاصله رو قبول میکنه؟!
جواب: نه! اینطوری نیست که split فقط محدود باش به چندتا چیز خاص! اما میدونید چرا کد شما درست کار نمیکنه! چون به پایتون (Python) بنده خدا میگید:!
“جناب پایتون! لطف کنید split کنید (تفکیک کنید) متنی که در a تعریف کردم رو! و مبنای تفکیک رو هم بذارید * !”
در پی دستور کاربر، python بنده خدا اطاعت میکنه و میره تا اون متن رو بر مبنای * تفکیک کنه! ولی خب شما اصلاً توی متنتون * نذاشتید که این بنده خدا بخواد بر اساس * تفکیک کنه! برای همین به نتیجهای نمیرسه این بنده خدا! و همون متن خودتون رو بر میگردونه!
شما هم سوالی داشتید بپرسید! کولاک در خدمت شماست!
متد join در رشته ها (برای متصل کردن یک سری رشته استفاده میشه!)
آموزش رایگان و کامل زبان برنامه نویسی پایتون !
تابع lambda در پایتون [به شدت پرکاربرد است]!
تابع zip در پایتون [برای متناظر کردن چندین لیست، تاپل و غیره!]
آموزش تابع map [+ آموزش ترکیب آن با lambda function]!
تعداد دیدگاه | 6 |
تعداد بازدید | 27.7K |
تاریخ انتشار | 21/06/2019 |
تاریخ بروزرسانی | 21/06/2019 |
نویسنده | گروه آموزشی کولاک |