از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
تبدیل لیست کاراکترها به رشته در پایتون
فرض کنید لیستی از شخصیت های فردی دارید، مانند این:
chars = ('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')
اگر بخواهید این لیست از کاراکترها را به یک رشته تبدیل کنید چه؟ در چنین مواردی می توانید از join
روش.
>>> chars = ('h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd')
>>> ''.join(chars)
'hello world'
توجه داشته باشید که join
روش آثار روی رشته ای که می خواهید به عنوان جداکننده استفاده کنید، نه آرایه. این با زبان های دیگر متفاوت است، مانند جاوا اسکریپت که از آن استفاده می کند join
روش روی آرایه به همین دلیل است که از call استفاده می کنیم join
روی یک رشته خالی، ما در واقع نمیخواهیم کاراکترهای منفرد با چیزی از هم جدا شوند.
اگر می خواهید کاراکترها را با چیزی جدا کنید، و نه فقط یک رشته خالی، از آن کاراکتر به عنوان جداکننده استفاده کنید:
>>> chars = ('0', '1', '2', '3', '4')
>>> ','.join(chars)
'0,1,2,3,4'
اما اگر لیست کاراکترهای شما شامل اشیاء غیر رشته ای مانند اعداد صحیح باشد، چه؟ در این صورت پایتون یک خطا ایجاد میکند مگر اینکه صریحاً اعداد صحیح را به رشته تبدیل کنید.
>>> ','.join((1, 2, 3, 4))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected string, int found
اگر اعداد صحیح (یا انواع داده های دیگر) مانند این دارید، ابتدا آنها را به رشته تبدیل کنید. این را می توان در یک خط با استفاده از map
تابعی که یک متد را فراخوانی می کند روی هر آیتم در لیست را برگردانید و آرایه اصلاح شده را برگردانید.
در اینجا ابتدا نشان می دهیم که چگونه map
عملکرد کار می کند:
>>> integers = (1, 2, 3, 4)
>>> map(str, integers)
('1', '2', '3', '4')
و در حال حاضر، قرار دادن همه آن را با join
:
>>> integers = (1, 2, 3, 4)
>>> ','.join(map(str, integers))
'0,1,2,3,4'
به عنوان مثال دیگر، فرض کنید باید الگویی ایجاد کنید که دارای خطوط شماره گذاری شده برای چاپ برگه باشد. شما می توانید با استفاده از range
، map
، و join
:
>>> numbers = range(1,11)
>>> ')\n'.join(map(str, numbers)) + ')'
'1)\n2)\n3)\n4)\n5)\n6)\n7)\n8)\n9)\n10)'
با فرمت صحیح، خروجی به شکل زیر خواهد بود:
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
(برچسبها به ترجمه)# python
منتشر شده در 1403-01-05 07:10:04