Python は、2 つのリストまたはテキスト コンテンツが同じかどうかを比較します - コードの実装

1. 基本バージョン - 2 つのリストに同じ値が含まれているかどうかを確認し (異なるリストでは同じ値の位置が異なる場合があります)、異なる内容の数と値を出力します。

a=[6,5,4,3,2,1]
b=[1,2,9]
for i in range(0,len(a)):
    if a[i] not in b:
        print("a有b没有","位置",i,"值",a[i])
print("---------")
for i in range(0,len(b)):
    if b[i] not in a:
        print("b有a没有","位置",i,"值",b[i])

程序运行结果:
a有b没有 位置 0 值 6
a有b没有 位置 1 值 5
a有b没有 位置 2 值 4
a有b没有 位置 3 值 3
---------
b有a没有 位置 2 值 9

2. 高度なバージョン - 2 つの txt テキストを比較して同じかどうかを確認し、相違点を出力します。

    「Like Dance.txt」と「Like Music.txt」という 2 つの txt ファイルがあります。

    

    

   コードは次のように実装されます。

'''比较两个文本内容'''
f_new=open('喜欢音乐.txt','r')
a=f_new.readlines()
f_old=open('喜欢舞蹈.txt','r') #以读取模式打开txt,python自带的读取文件方式
b=f_old.readlines()     #读取txt里所有行,并存储在变量b中
for i in range(0,len(a)):
    if a[i]!='\n':   #readlines会将换行读取成'\n'存储下来,因此比较时略过'\n'
        if a[i] not in b:
            print("只喜欢音乐不喜欢舞蹈",i,a[i])
print('--------------')
for i in range(0,len(b)):
    if b[i] !='/n':
        if b[i] not in a:
            print("只喜欢舞蹈不喜欢音乐",i,b[i])

プログラムを実行した結果は次のとおりです。

只喜欢音乐不喜欢舞蹈 0 Tom 

只喜欢音乐不喜欢舞蹈 1 Amy

只喜欢音乐不喜欢舞蹈 2 Tony

--------------
只喜欢舞蹈不喜欢音乐 2 Jenny

只喜欢舞蹈不喜欢音乐 3 Steve

只喜欢舞蹈不喜欢音乐 4 Ali

txt を比較する場合、python の f.readlines を使用すると、改行文字 '\n' を含む各行がリスト内の各値として読み取られることに注意してください。2 つの txt ファイルに同じ行の文字があり、一方に改行文字があり、もう一方に改行文字がない場合、この時点で比較すると 2 つの行は異なると見なされます。これは肉眼では見えません。時間があれば、print を使用して出力できます readlines( )見てみましょう。

3. エクセルとの比較…未定。

おすすめ

転載: blog.csdn.net/woshisunyizhen/article/details/103262848