كيفية التعرف على العناصر المتشابهة في قائمتين بيثون


الاجابه 1:

يعتمد على ما تحاول القيام به ، لكنني أعتبره يعني أنك تريد العثور على أرقام مشتركة:

Shared_numbers = []للرقم في المجموعة (اختزل (lambda a، b: a + b، map (lambda y: map (lambda x: x، y)، a))): إذا كان الرقم في مجموعة (اختزل (lambda a، b: a + b، map (lambda y: map (lambda x: x، y)، b))): Shared_numbers.append (رقم)

والتي ستترك لك:

[2 ، 3 ، 4 ، 5]

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

تحرير 2: الإجابة الأكثر بيثونية (المقروءة) ستكون استخدام دالة مسماة بدلاً من الاعتماد على لامدا:

def توحيد (list_of_tuples): النتيجة = [] لـ tuple_element في list_of_tuples: للعنصر في tuple_element: result.append (عنصر) مجموعة العودة (نتيجة)

مما يتيح لك كتابة منطق المقارنة بشكل أكثر وضوحًا على النحو التالي:

Shared_numbers = []للرقم في التوحيد (أ): إذا كان الرقم في التوحيد (ب): Shared_numbers.append (رقم)

أجمل بكثير ... لا؟ وإذا كنت تريد تقليل عدد المكالمات للتوحيد القياسي () ، فيمكنك بالطبع تسميتها مرة واحدة على b ثم استخدام المجموعة المحسوبة مسبقًا في عبارة if.

أو (باستخدام جزء من إجابة Udhay باستخدام عمليات محددة):

قائمة (توحيد (أ) تقاطع (توحيد (ب)))

أو (باستخدام جزء من إجابة مجهولة باستخدام قائمة الفهم):

[رقم للرقم في التوحيد (أ) إذا كان الرقم في التوحيد (ب)]


الاجابه 2:

إلى حد ما ، فإن القائمة في python تشبه إلى حد كبير المصفوفة في C مع اختلاف واحد وهو أن كل العناصر التي تنتمي إلى المصفوفة هي من نفس نوع البيانات بينما في القائمة يمكن أن تكون كل العناصر من نوع بيانات مختلف.

وبالتالي ، على نحو مشابه لقائمتين لمقارنة الصفيفتين ، يمكن أيضًا مقارنة قائمتين على النحو التالي:

الكود مكتوب في Python 2.7.14

# 21 يونيو ، 2018# ناريان لال المنارية# مقارنة بين قائمتينlist = ['abcd'، 786، 2.23، 'john'، 70.2]tinylist = [123، 'john']# مقارنة قيمة قائمتينللعنصر في القائمة: لـ item1 في tinylist: إذا كان العنصر == item1: عنصر الطباعة آخر: طباعة "لا يوجد تطابق"طباعة "**************** \ n"# في الإخراج هناك إجمالي 10 مجموعات: # لأنه في الدورة الأولى ، تتم مقارنة "abcd" بـ (123 ، جون)# ثم في الدورة الثانية 786 مقارنة بـ (123 ، جون)# بالمثل لجميع عناصر القائمة التي تحتوي على عنصر tinylist

انتاج:

إذا كنت لا تحصل على هذا السبب في وجود 10 مجموعات (9 مخرجات "غير متطابقة" ومخرج واحد "john") من إلقاء نظرة على الكود أدناه.

# الآن هناك إجمالي 15 مجموعة (13 غير متطابقة ومخرجين 2.23 وجون)tinylist = [123، 'john'، 2.23]طباعة "****************** \ n"للعنصر في القائمة: لـ item1 في tinylist: إذا كان العنصر == item1: عنصر الطباعة آخر: طباعة "لا يوجد تطابق"

انتاج:

نأمل الآن أنه واضح.

شكر.


الاجابه 3:

يوضح الكود أدناه كيفية مقارنة كل قيمة في قائمتين:

إذا __name__ == '__main__':

l1 = [{'id': '1258'، 'name': 'Keshav'، 'age': 40}،

{'name': 'Khilji'، 'age': 50، 'id': '3698'}،

{'Age': 32، 'id': '4587'، 'name': 'Ratan'}]

l2 = [{'name': 'Khilji'، 'id': '3698'، 'age': 50}،

{'id': '1258'، 'age': 40، 'name': 'Kehsav'}،

{'id': '4587'، 'name': 'Ratan'، 'age': 32}]

تأكيد [i for i in l1 إذا لم أكن في l2] == []

في الكود أعلاه ، l1 و l2 متساويان. أي أن كل قاموس يحتوي على نفس العناصر (المفاتيح والقيم) في كلتا القائمتين. ترتيب العناصر في كل قاموس غير ذي صلة.

الآن ، كيفية التحقق من القيم المختلفة:

انظر إلى الكود أدناه: -

إذا __name__ == '__main__':

l1 = [{'id': '1258'، 'name': 'Keshav'، 'age': 40}،

{'name': 'Khilji'، 'age': 50، 'id': '3698'}،

{'Age': 32، 'id': '4587'، 'name': 'Ratan'}]

l2 = [{'name': 'XYZZ'، 'id': '3698'، 'age': 50}،

{'id': '1258'، 'age': 40، 'name': 'Kehsav'}،

{'id': '4587'، 'name': 'Ratan'، 'age': 32}]

لأني في l1:

إذا لم أكن في المستوى 2:

طباعة (ط)

سيكون الإخراج:

{'id': '4587'، 'name': 'Ratan'، 'age': 32}

{'id': '1258'، 'name': 'Keshav'، 'age': 40}

إذن ، هذه هي الطريقة التي يمكننا بها مقارنة كل قيمة في قائمتين.


الاجابه 4:

إذا كنت تريد التحقق مما إذا كانت القائمتان تحتويان على نفس العناصر ثم…

دعونا نفكر في قائمتين مسماين: l1 و l2

مقارنة def (l1، l2): الأول = قائمة (مجموعة (l1)) الثانية = قائمة (مجموعة (l2)) إذا كان len (أولًا) == len (ثانيًا): بالنسبة إلى ele أولاً: # لكل عنصر في القائمة الأولى if ele في المرتبة الثانية: # موجود في القائمة الثانية تابع # ثم تابع مع العناصر الأخرى عودة كاذبة عودة صحيح تأكيد صواب == المقارنة (["p" ، "i" ، "t"] ، ["t" ، "i" ، "p"])

الاجابه 5:

# 1. يمكنك مقارنة قائمتين "أ" و "ب" مباشرةً من خلال: أ == ب #returns صواب إذا كانتا متساويتين خطأ

# 2. للمقارنة الحكيمة للعناصر: إذا كان len (a) == len (b): بالنسبة لـ i في النطاق (len (a)): إذا كان a [i] == b [i]: # افعل شيئًا آخر: # افعل شيئًا آخر


الاجابه 6:

لذلك تحتوي قوائمك على مجموعات كعناصر.

قم بالتكرار خلال قائمتين باستخدام حلقات متداخلة وقارن بين عناصر القائمة (التي تم تعيينها هنا) باستخدام عامل المساواة (==).

شيء من هذا القبيل: لـ i in a: لـ j in b: إذا كان i == j: # افعل ما تريد القيام به أيضًا: # شيء آخر تريد القيام به إذا لم يكن مساوياً

أتمنى أن يساعدك هذا.


الاجابه 7:

أتمنى أن يبدو هذا جيدًا ...

s = 'أنا أستخدم asha24 لتحسين برمجتي ، شكرًا لك.t = 'am asha24 الخاص بي ، انقسام ()# ق = 'أنا أحبك. تقسيم ()# t = 'love'. انقسام ()def المفقودة (s ، t): # ابحث عن السلسلة المفقودة في القائمة وأضفها إلى القائمة الجديدة "new" جديد = [] بالنسبة لي في s: لـ j in t: إذا (أنا لست في t): new.append (i) استراحة عودة (جديد)newz = كلمات مفقودة (s، t) # تحويل القائمة إلى سلسلةطباعة (".join ([str (str1) لـ str1 في newz]))

لقد حاولت إعطاء المدخلات S و T.

والإخراج هو "Newz" ← البحث عن المفقود هو "S" من "T"

تعلم علوم البيانات من Asha24 مع Asha24 Com

سعيد بيثون


الاجابه 8:
  • يمكننا القيام بذلك بطريقتين.
  • >>> أ = [1 ، 2 ، 3 ، 4 ، 5] >>> ب = [9 ، 8 ، 7 ، 6 ، 5] >>> مجموعة (أ) وتعيين (ب).
  • (5)
  • أو،
  • >>> مجموعة (أ) تقاطع (ب) مجموعة ([5]).

الاجابه 9:

يمكنك استخدام مجموعة هنا:

set1 = مجموعة (أنا [0] لأني في أ)

set2 = مجموعة (j [0] لـ j في b)

set3 = set1 & set2


الاجابه 10:
>>> أ = [1 ، 2 ، 3 ، 4 ، 5] >>> ب = [9 ، 8 ، 7 ، 6 ، 5،0] >>> ضبط (أ) وتعيين (ب) {5}