I-Python Qhathanisa Uhlu Olubili Lwezichazamazwi

Kulokhu okuthunyelwe, sibheka ukuthi singaqhathanisa kanjani izinhlu ezimbili zezichazamazwi ePython futhi siphrinte umehluko phakathi kwalezi zinhlu ezimbili.

Indlela yokuqhathanisa iqhathanisa okhiye futhi amanani kuzichazamazwi.

Futhi, ukuhleleka kwezinto akusho lutho uma kuqhathaniswa izinhlu ezimbili zezichazamazwi ePython.




Qhathanisa uhlu lwezichazamazwi ePython

if __name__ == '__main__':
list_1 = [
{'id': '123-abc', 'name': 'Mike', 'age': 40},
{'name': 'John', 'age': 34, 'id': '123-efg'},
{'age': 32, 'id': '123-xyz', 'name': 'Aly'}
]
list_2 = [
{'name': 'Mike', 'id': '123-abc', 'age': 40},
{'id': '123-efg', 'age': 34, 'name': 'John'},
{'id': '123-xyz', 'name': 'Aly', 'age': 32}
]
assert [i for i in list_1 if i not in list_2] == []

Kwikhodi engenhla, list_1 futhi list_2 bayalingana. Lokho wukuthi, isichazamazwi ngasinye siqukethe izinto ezifanayo (okhiye namanani) kuzo zombili izinhlu. Ukuhleleka kwezinto ezisesichazamazwini ngasinye akubalulekile.



Qhathanisa uhlu lwezichazamazwi - umehluko wokuphrinta

Futhi singaphrinta ukuthi yiziphi izinto zesichazamazwi ezihlukile ohlwini:


Ngokwesibonelo:

if __name__ == '__main__':
list_1 = [
{'id': '123-abc', 'name': 'Mike', 'age': 40},
{'id': '123-efg', 'name': 'John', 'age': 24},
{'id': '123-xyz', 'name': 'Aly', 'age': 35}
]
list_2 = [
{'id': '123-abc', 'name': 'Mike', 'age': 40},
{'id': '123-efg', 'name': 'Jon', 'age': 24},
{'id': '123-xyz', 'name': 'Aly', 'age': 32}
]
for i in list_1:
if i not in list_2:

print(i)

Lokukhipha:

{'id': '123-efg', 'name': 'John', 'age': 24} {'id': '123-xyz', 'name': 'Aly', 'age': 35}

Enye indlela yokubhala le ndlela engenhla yile:

def compare_two_lists(list1: list, list2: list) -> bool:
'''
Compare two lists and logs the difference.
:param list1: first list.
:param list2: second list.
:return:
if there is difference between both lists.
'''
diff = [i for i in list1 + list2 if i not in list1 or i not in list2]
result = len(diff) == 0
if not result:
print(f'There are {len(diff)} differences: {diff[:5]}')
return result


Guqula Izinhlu Ezimbili Usebenzisa i-Pandas DataFrame

Ikhodi eyisibonelo engezansi ikhombisa ukuthi ungaqhathanisa kanjani izinhlu ezimbili usebenzisa iPandas DataFrame


from pandas import DataFrame import pandas as pd def compare_two_lists(list1: list, list2: list) -> bool:
'''
Compare two lists and logs the difference.
:param list1: first list.
:param list2: second list.
:return:
if there is difference between both lists.
'''
df1 = pd.DataFrame(list1)
df2 = pd.DataFrame(list2)
diff = dataframe_difference(df1, df2)
result = len(diff) == 0
if not result:
print(f'There are {len(diff)} differences: {diff.head()}')
return result def dataframe_difference(df1: DataFrame, df2: DataFrame) -> DataFrame:
'''
Find rows which are different between two DataFrames.
:param df1: first dataframe.
:param df2: second dataframe.
:return: if there is different between both dataframes.
'''
comparison_df = df1.merge(df2, indicator=True, how='outer')
diff_df = comparison_df[comparison_df['_merge'] != 'both']
return diff_df