ali_agha نشر 5 ديسمبر 2015 أرسل تقرير نشر 5 ديسمبر 2015 أريد إنشاء سلسلة بها جميع الأحرف الأبجدية كالتالي:alpha = ['a', 'b', 'c', 'd'.........'z'] فما هي أقصر الطرق لفعل ذلك في بايثون من دون الاضطرار لكتابة جميع الحروف؟ اقتباس
0 هشام رزق الله نشر 5 ديسمبر 2015 أرسل تقرير نشر 5 ديسمبر 2015 للحصول على جميع الأحرف (الحروف الإنجليزية الصغيرة) في بايثون، يمكنك استخدام وحدة string التي تحتوي على عدة متغيرات تهتم بالسلاسل النصية والتي من بينها ascii_lowercase كما يظهر لنا في المثال التالي:>>> import string >>> string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz' والآن سنحوّل السلسلة النصية السابقة إلى قائمة كما أردت أنت:>>> list(string.ascii_lowercase) ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] كما يمكنك فعل نفس الشيء عن طريق استخدام مجال أحرف آسكي من 97 إلى 123 ومن ثم تحويلهم إلى أحرف كما في المثال التالي:>>> list(map(chr, range(97, 123))) #or list(map(chr, range(ord('a'), ord('z')+1))) ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] بعض متغيرات وحدة string والتي يمكنك استخدامها في برامجك:>>> help(string) # on Python 3 .... DATA ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz' ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' digits = '0123456789' hexdigits = '0123456789abcdefABCDEF' octdigits = '01234567' printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c' punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~' whitespace = ' \t\n\r\x0b\x0c' اقتباس
السؤال
ali_agha
أريد إنشاء سلسلة بها جميع الأحرف الأبجدية كالتالي:
فما هي أقصر الطرق لفعل ذلك في بايثون من دون الاضطرار لكتابة جميع الحروف؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.