وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

پایتون: رشته را به لیست با split() تقسیم کنید

0 17
زمان لازم برای مطالعه: 3 دقیقه


داده ها می توانند اشکال و اشکال مختلفی داشته باشند – و اغلب به صورت رشته نمایش داده می شوند.

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

در این راهنما، ما به روش تقسیم یک رشته به یک لیست در پایتون، با split() روش.

رشته را به لیست در پایتون تقسیم کنید

را split() روش کلاس رشته نسبتاً ساده است. رشته را تقسیم می‌کند، یک جداکننده می‌دهد و فهرستی متشکل از عناصر جدا شده از رشته را برمی‌گرداند.

به طور پیش‌فرض، جداکننده روی یک فضای سفید تنظیم شده است – بنابراین اگر آرگومان جداکننده را حذف کنید، رشته شما تقسیم می‌شود. روی هر فضای خالی

بیایید نگاهی به رفتار آن بیاندازیم split() روش:

string = "Age,University,Name,Grades"

lst = string.split(',')

print(lst)
print('Element types:', type(lst(0)))
print('Length:', len(lst))

رشته ما دارای عناصری بود که با کاما مشخص شده بودند، مانند یک فایل CSV (مقادیر جدا شده با کاما)، بنابراین جداکننده را به درستی تنظیم کرده ایم.

این منجر به لیستی از عناصر نوع می شود strمهم نیست که چه نوع دیگری دارند می توان نمایندگی:

('Age', 'University', 'Name', 'Grades')
Element types: <class 'str'>
Length: 4

رشته را به فهرست تقسیم کنید، فضاهای سفید را برش دهید و حروف بزرگ را تغییر دهید

همه رشته های ورودی تمیز نیستند – بنابراین همیشه یک رشته با فرمت کامل برای تقسیم نخواهید داشت. گاهی اوقات، رشته‌ها ممکن است حاوی فاصله‌های سفیدی باشند که نباید در «محصول نهایی» باشند یا حروف بزرگ و غیربزرگ ناسازگاری داشته باشند.

پیشنهاد می‌کنیم بخوانید:  مقدمه ای بر اجزای Vue هنگام توسعه یک برنامه کاربردی بزرگ، همیشه ایده خوبی است که آن را به اجزای کوچکتر تقسیم کنید تا خواندن، ساختار و نگهداری کد آسانتر شود. اکثر مبتدیان Vue درک می کنند که چه اجزایی حداقل از نظر مفهومی هستند، اما ممکن است به طور کامل درک نکنند که چه چیزی را می توانند و چه کاری را نمی توانند انجام دهند.

خوشبختانه، این کار بسیار آسان است process این لیست و هر عنصر موجود در آن، پس از اینکه آن را تقسیم کردید:


string = "age, uNiVeRsItY, naMe, gRaDeS"
lst = string.split(',')

print(lst)

این نتیجه در:

('age', ' uNiVeRsItY', ' naMe', ' gRaDeS')

خوب نیست! هر عنصر با یک فضای خالی شروع می شود و عناصر به درستی بزرگ نشده اند. اعمال یک تابع برای هر عنصر از یک لیست به راحتی از طریق یک ساده انجام می شود for حلقه بنابراین ما می خواهیم a را اعمال کنیم strip()/trim() (برای خلاص شدن از فضاهای سفید) و یک تابع حروف بزرگ.

از آنجایی که ما نه تنها به دنبال بزرگ کردن حرف اول هستیم، بلکه بقیه را نیز با حروف کوچک نگه می داریم (برای اجرای مطابقت)، ​​اجازه دهید یک تابع کمکی برای آن تعریف کنیم:

def capitalize_word(string):
    return string(:1).capitalize() + string(1:).lower()

این روش یک رشته را می گیرد، آن را برش می دهد روی حرف اولش و با حروف بزرگ. بقیه رشته به حروف کوچک تبدیل می شود و سپس دو رشته تغییر یافته به هم متصل می شوند.

اکنون می توانیم از این روش در یک حلقه نیز استفاده کنیم:

string = "age, uNiVeRsItY, naMe, gRaDeS"

lst = string.split(',')
lst = (s.strip() for s in lst)
lst = (capitalize_word(s) for s in lst)

print(lst)
print('Element types:', type(lst(0)))
print('Length:', len(lst))

این باعث تمیزی می شود:

('Age', 'University', 'Name', 'Grades')
Element types: <class 'str'>
Length: 4

رشته را به لیست تقسیم کرده و به عدد صحیح تبدیل کنید

اگر با لیستی از اعداد صحیح کار می کنید چه اتفاقی می افتد؟ پس از تقسیم، نمی توانید عملیات عدد صحیح را انجام دهید روی اینها، چون ظاهراً رشته ای هستند.

پیشنهاد می‌کنیم بخوانید:  تبدیل لیست کاراکترها به رشته در پایتون

خوشبختانه، ما می توانیم از همان استفاده کنیم for حلقه مانند قبل برای تبدیل عناصر به اعداد صحیح:

string = "1,2,3,4"

lst = string.split(',')
lst = (int(s) for s in lst)

print(lst)
print('Element types:', type(lst(0)))
print('Length:', len(lst))

که اکنون نتیجه آن:

(1, 2, 3, 4)
Element types: <class 'int'>
Length: 4

رشته را با Limiter به لیست تقسیم کنید

علاوه بر جداکننده، split() روش یک محدود کننده را می پذیرد – تعداد دفعاتی که یک تقسیم باید رخ دهد.

این یک عدد صحیح است و بعد از جداکننده تعریف می شود:

string = "Age, University, Name, Grades"

lst = string.split(',', 2)
print(lst)

در اینجا، دو انشعاب رخ می دهد، روی کامای اول و دوم و بعد از آن هیچ تقسیمی اتفاق نمی افتد:

('Age', ' University', ' Name, Grades')

نتیجه

در این راهنمای کوتاه، شما یاد گرفتید که چگونه یک رشته را به یک لیست در پایتون تقسیم کنید.

همچنین یاد گرفته‌اید که چگونه فضاهای سفید را برش دهید و حروف بزرگ را به عنوان یک مرحله پردازش ساده در کنار تقسیم یک رشته به یک لیست، اصلاح کنید.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-08 01:53:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید