فيما يلي وصف لكيفية ربط وربط سلسلة str في Python.
- تسلسل ودمج سلاسل متعددة:
+
و+=
المشغل أو العامل - اربط و اجمع بين الأرقام و السلاسل:
+
و+=
المشغل أو العامل,str()
وformat()
وو- سلسلة - اربط ودمج قوائم (مصفوفات) السلاسل في سلسلة واحدة:
join()
- اربط ودمج قوائم (مصفوفات) الأرقام في سلسلة واحدة:
join()
وstr()
تسلسل ودمج سلاسل متعددة:+و+=المشغل أو العامل
الإتصال:+المشغل أو العامل
يمكن استخدام عامل التشغيل ++ لسلسلة متغيرات السلسلة الحرفية وسلسلة الأحرف التالية
- … “
- “…”
s = 'aaa' + 'bbb' + 'ccc'
print(s)
# aaabbbccc
s1 = 'aaa'
s2 = 'bbb'
s3 = 'ccc'
s = s1 + s2 + s3
print(s)
# aaabbbccc
s = s1 + s2 + s3 + 'ddd'
print(s)
# aaabbbcccddd
الإتصال:+=المشغل أو العامل
يمكن أيضًا استخدام عامل التشغيل + = ، وهو عامل تعيين تراكمي. متغير السلسلة على الجانب الأيسر متسلسل مع السلسلة الموجودة على الجانب الأيمن ، ويتم تعيينه وتحديثه.
s1 += s2
print(s1)
# aaabbb
إذا كنت تريد إضافة سلسلة إلى نهاية متغير سلسلة ، ببساطة قم بمعالجة متغير السلسلة وأي سلسلة حرفية (أو متغير سلسلة آخر) باستخدام عامل التشغيل + =.
s = 'aaa'
s += 'xxx'
print(s)
# aaaxxx
التسلسل المتتالي للسلسلة الحرفية
إذا قمت ببساطة بكتابة نصوص حرفية جنبًا إلى جنب ، فسيتم ربط السلسلة الحرفية.
s = 'aaa''bbb''ccc'
print(s)
# aaabbbccc
من المقبول وجود مسافة بين سطرين أو فاصل سطر مائل عكسي (يعتبر استمرارًا).
s = 'aaa' 'bbb' 'ccc'
print(s)
# aaabbbccc
s = 'aaa'\
'bbb'\
'ccc'
print(s)
# aaabbbccc
هناك أسلوب لاستخدام هذا لكتابة سلاسل طويلة على عدة أسطر في الكود.
- مقالات ذات صلة:كتابة سلاسل طويلة على عدة أسطر في بايثون
طريقة الكتابة هذه غير ممكنة لمتغيرات السلسلة.
# s = s1 s2 s3
# SyntaxError: invalid syntax
التسلسل الرقمي والسلسلة / التسلسل:+و+=المشغل أو العامل,str()وformat()وو- سلسلة
تؤدي العملية A + من نوع مختلف إلى حدوث خطأ.
s1 = 'aaa'
s2 = 'bbb'
i = 100
f = 0.25
# s = s1 + i
# TypeError: must be str, not int
إذا كنت تريد ربط قيمة عددية (على سبيل المثال ، نوع عدد صحيح int أو عائم نوع النقطة العائمة) بسلسلة ، قم بتحويل القيمة الرقمية إلى نوع سلسلة مع str () ثم قم بربطها مع عامل التشغيل + (أو + = عامل التشغيل ).
s = s1 + '_' + str(i) + '_' + s2 + '_' + str(f)
print(s)
# aaa_100_bbb_0.25
إذا كنت تريد تحويل تنسيق رقم ، مثل تعبئة صفرية أو منازل عشرية ، فاستخدم الدالة format () أو تنسيق أسلوب السلسلة ().
s = s1 + '_' + format(i, '05') + '_' + s2 + '_' + format(f, '.5f')
print(s)
# aaa_00100_bbb_0.25000
s = '{}_{:05}_{}_{:.5f}'.format(s1, i, s2, f)
print(s)
# aaa_00100_bbb_0.25000
بالطبع ، من الممكن أيضًا تضمين قيمة المتغير مباشرةً في سلسلة بدون تنسيق. هذا أسهل في الكتابة من استخدام عامل التشغيل +.
s = '{}_{}_{}_{}'.format(s1, i, s2, f)
print(s)
# aaa_100_bbb_0.25
راجع المقالة التالية للحصول على تفاصيل حول كيفية تحديد التنسيق.
منذ Python 3.6 ، تم أيضًا تقديم آلية تسمى f-strings (f-string) ، وهي أسهل في الكتابة من التنسيق ().
s = f'{s1}_{i:05}_{s2}_{f:.5f}'
print(s)
# aaa_00100_bbb_0.25000
s = f'{s1}_{i}_{s2}_{f}'
print(s)
# aaa_100_bbb_0.25
ربط قوائم (مصفوفات) السلاسل وربطها:join()
يمكن استخدام طريقة السلسلة Join () لربط قائمة السلاسل في سلسلة واحدة.
فيما يلي كيفية كتابتها.
'String to be inserted between'.join([List of strings to be concatenated])
استدعاء طريقة الانضمام () مع “سلسلة لإدراجها بين” وتمرير [قائمة السلاسل المراد توصيلها] كوسيطة.
إذا تم استخدام سلسلة فارغة ، فسيتم ربط [قائمة السلاسل المراد تسلسلها] ببساطة ، وإذا تم استخدام فاصلة ، فستكون السلاسل مفصولة بفواصل ، وإذا تم استخدام حرف سطر جديد ، فسيتم تسطير كل عنصر سلسلة جديد.
l = ['aaa', 'bbb', 'ccc']
s = ''.join(l)
print(s)
# aaabbbccc
s = ','.join(l)
print(s)
# aaa,bbb,ccc
s = '-'.join(l)
print(s)
# aaa-bbb-ccc
s = '\n'.join(l)
print(s)
# aaa
# bbb
# ccc
على الرغم من تقديم مثال فقط لقائمة هنا ، يمكن تحديد كائنات أخرى قابلة للتكرار مثل المجموعات كوسائط للانضمام () أيضًا.
على عكس Join () ، يتم استخدام split () لتقسيم سلسلة محددة بواسطة محدد معين والحصول عليها كقائمة.
ربط ودمج قوائم (مصفوفات) الأرقام كسلاسل:join()وstr()
يحدث خطأ إذا كانت وسيطة الانضمام () عبارة عن قائمة عناصرها ليست سلاسل.
l = [0, 1, 2]
# s = '-'.join(l)
# TypeError: sequence item 0: expected str instance, int found
لتسلسل قائمة الأرقام في سلسلة واحدة ، قم بتطبيق الدالة str () على كل عنصر في تدوين list comprehension لتحويل الأرقام إلى سلسلة ، ثم قم بربطها بربط ().
s = '-'.join([str(n) for n in l])
print(s)
# 0-1-2
يمكن أيضًا كتابته كتعبير منشئ ، وهو إصدار منشئ من list comprehensions. يتم وضع تعبيرات المولد بين قوسين ، ولكن يمكن حذف الأقواس إذا كان تعبير المولد هو الوسيطة الوحيدة لوظيفة أو طريقة.
s = '-'.join((str(n) for n in l))
print(s)
# 0-1-2
s = '-'.join(str(n) for n in l)
print(s)
# 0-1-2
تتمتع تعبيرات المولد عمومًا بميزة استخدام ذاكرة أقل من استيعاب القوائم ، ولكن لا توجد ميزة خاصة لاستخدام تعبيرات المولد لأن Join () يحول المولدات إلى قوائم في معالجتها الداخلية. في الواقع ، من الأسرع قليلاً استخدام مفاهيم القوائم من البداية.
لمزيد من المعلومات حول قائمة الإدراك وتعبيرات المولد ، راجع المقالة التالية.
- مقالات ذات صلة:كيفية استخدام Python list comprehensions