Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python: How can I find the differences between two lists of strings?

I'm using Python 3. I have two lists of strings and I'm looking for mismatches between the two. The code I have works for smaller lists but not the larger lists I'm writing it for.

Input from the non-working lists is in the following format:

mmec11.mmegifffa.mme.epc.mnc980.mcc310.3gppnetwork.org
mmec13.mmegifffa.mme.epc.mnc980.mcc310.3gppnetwork.org
mmec12.mmegifffa.mme.epc.mnc980.mcc310.3gppnetwork.org
mmec14.mmegifffa.mme.epc.mnc980.mcc310.3gppnetwork.org

My function to compare two lists of data in the above format is:

result = []
for x in mmeList1:
    if x not in mmeList2:
        result.append(x)
return result

The problem is it's not working. I get an output file of both lists combined into one long list. When I put a test is to say "Hi" every time a match was made, nothing happened. Does anyone have any ideas where I'm going wrong. I work for a telecommunications company and we're trying to go through large database dumps to find missing MMEs.

I'm wondering if maybe my input function is broken? The function is:

for line in input:
        field = line.split()
        tempMME = field[0]
        result.append(tempMME)

I'm not very experienced with this stuff and I'm wondering if the line.split() function is messing up due to the periods in the MME names?

Thank you for any and all help!

like image 619
Kenny Cather Avatar asked Jan 24 '26 00:01

Kenny Cather


1 Answers

If you don't need to preserve ordering, the following will result in all mmes that exist in list2 but not list1.

result = list(set(mmeList2) - set(mmeList1))
like image 179
James Emerton Avatar answered Jan 25 '26 19:01

James Emerton



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!