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

كيف يمكنني حذف النصوص المكرره في البايثون؟

Abdullah Mtiri

السؤال

مرحبا،

كيف يمكنني حذف نص متكرر في txt بالبايثون ؟

مثال :

hello12

hasob

academy

hello12

اريد حذف hello12 المكرره ع سبيل المثال

وشكرا

تم التعديل في بواسطة Abdullah Mtiri
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك فعل ذلك من خلال التالي:

text = "hello12 hasob academy hello12"
result = ""
for i in text.split(" "):
      if (i not in result):
            result+= i + " "
print(result)

نتيجة الكود السابق: hello12 hasob academy.

قمنا بتهيئة المتحول result لنخزن فيه النتيجة، ومررنا بحلقة تكرار، الحلقة تمر على كل كلمة في الtext، ثم في الجملة الشرطية نتأكد من أنّ الكلمة غير مخزّنة في الـ result، فقط إذا كانت غير مخزنة نضيفها للـ result، وفي النهاية نطبع الناتج.

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

  • 1

في حال كان لا يهمك ترتيب الأسطر في هذا الملف، فهناك طريقة سريعة جداً، و هي أسرع ما يمكن القيام به.

نقوم في البداية بجلب كافة الأسطر و وضعها في list و نقوم بترتيب ال list.

ثم يمكننا المرور على list و مقارنة كل عنصر بالذي يليه، في حال كان لا يساويه نقوم بإضافته إلى list جديدة ستكون هي الإجابة النهائية، ثم يمكن كتابة هذه ال list الجديدة في الملف.

هذه الطريقة هي الأفضل في حال كان لديك عدد أسطر كبير، و لكن في حال كان عدد الأسطر صغير لا فرق بين الطرق بشكل عام.

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

  • 1

يوجد الكثر من الطرق لحذف نص متكرر في ملف txt بأستخدام لغة python.

ومن هذه الطرق قراءة الملف وتقسيمه إلى قائمة من الأسطر، ثم المرور على كل سطر من الأسطر وإضافته في قائمة جديدة بعد التحقق من أن الكلمة غير موجودة بالفعل في هذه القائمة، كما في الكود التالي:

with open('test.txt', 'r') as file:
    info = file.read().rstrip('\n').split('\n') # إزالة آخر سطر فارغ (إن وجد) وتقسيم محتوى الملف إلى قائمة من الأسطر

print(info) #['hello12', 'hasob', 'academy', 'hello12']

pure_list = []
repeated_words = []

for i in info : 
    if info.count(i) > 1 and (i not in repeated_words): 
        repeated_words.append(i)
        continue
    pure_list.append(i)

print(pure_list) #['hasob', 'academy', 'hello12']  
print(repeated_words) #['hello12']

لمعرفة المزيد عن أي دالة من الدوال المستخدمة أنظر المصادر في الاسفل.

تم التعديل في بواسطة Mohammed Fahmy3
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...