اذهب إلى المحتوى
  • 0

كيف أحوّل السلاسل النصية إلى أعداد صحيحة في بايثون؟

TheProgrammer

السؤال

لدي tuple متكونة من tuples حصلتُ عليها من استعلام MySQL:

T1 = (('13', '17', '18', '21', '32'),
      ('07', '11', '13', '14', '28'),
      ('01', '05', '06', '08', '15', '16'))

أريد تحويل جميع عناصر السلاسل النصية إلى أعداد صحيحة ومن ثم إنشاء قائمة ووضع الأعداد الصحيحة فيها كما في المثال التالي:

T2 = [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]

فكيف أستطيع فعل ذلك؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

الإجابة السابقة غير صحيحة.

بدايةً نحوّل T1 إلى قائمة من القوائم بدلاً من tubel من ال tubels:

t = (('13', '17', '18', '21', '32'),
      ('07', '11', '13', '14', '28'),
      ('01', '05', '06', '08', '15', '16'))
t=list(map(list, t))
"""
[['13', '17', '18', '21', '32'],
 ['07', '11', '13', '14', '28'],
 ['01', '05', '06', '08', '15', '16']]
"""

ثم نحوّل كل عنصر إلى عدد صحيح:

# idx نخزن فيه فهرس القائمة
# li نخزن فيها القائمة
for idx,li in enumerate(t): 
  # نمر علر كل عنصر في القائمة ونحول قيمتها إلى الصنف الصحيح
  t[idx]=[int(x) for x in li]
print(t)
# [[13, 17, 18, 21, 32], [7, 11, 13, 14, 28], [1, 5, 6, 8, 15, 16]]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • -1

هنالك عدة طرق لتحويل السلاسل النصية إلى أعداد صحيحة، فيمكنك على سبيل المثال استخدام الدالة المدمجة int() والتي ستمرر لها سلسلة نصية تحتوي على رقم و ترجع الرقم كعدد صحيح كما في المثال التالي:

print int("1") + 1

المثال السابق يطبع 2.
إذا كنت تعرف هيكل القائمة (على الرغم من أن قائمتك تحتوي على قوائم لكنها تمتلك فقط مستوى واحد من القوائم) فيمكنك استخدام map وحلقة التكرار for لإنشاء قائمة من الأعداد الصحيحة كما في المثال التالي:

T2 = [map(int, x) for x in T1]

المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...