4

行間の違いを確認しようとしています。これは私のコードです:

from difflib import unified_diff

s1 = ['a', 'b', 'c', 'd', 'e', 'f']
s2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'k', 'l', 'm', 'n']

for line in unified_diff(s1, s2):
    print line

それは印刷します:

---
+++ 

@@ -4,3 +4,9 @@

 d
 e
 f
+g
+i
+k
+l
+m
+n

「a」、「b」、および「c」はどうなりましたか? ありがとう!

4

1 に答える 1

5

コードを見るとunified_diff、 と呼ばれるパラメーターに関する説明が見つかりますn

統合差分は、行の変更と数行のコンテキストを表示するコンパクトな方法です。コンテキスト行の数は 'n' で設定され、デフォルトは 3 です。

あなたの場合n、基本的に文字数を示します。に値を割り当てるnと、正しい出力が得られます。このコード:

from difflib import unified_diff

s1 = ['a', 'b', 'c', 'd', 'e', 'f']
s2 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'i', 'k', 'l', 'm', 'n']

for line in unified_diff(s1, s2,n=6):
    print line

生成します:

--- 

+++ 

@@ -1,6 +1,12 @@

 a
 b
 c
 d
 e
 f
+g
+i
+k
+l
+m
+n
于 2016-07-22T20:12:56.977 に答える