Din*_*kar 6 python list python-2.7
考虑API返回四个列表作为输出.我们将输出视为
a = [1,2,3,4]
b = [1,2,3,4]
c = [1,2,4,3]
d = [1,2,3,5]
Run Code Online (Sandbox Code Playgroud)
现在,首先我们要比较这些列表是否相等.
仅当元素和索引匹配时,列表才相等.例如,从上面的列表,a
和b
是相等的.但是a
并c
不平等.
如果列表不相等,则输出预期为:此列表中此索引处的此元素与其他元素不同.
为了比较和获得两个列表的差异,我写了下面的代码.
for i in range(len(a)):
if a[i] != c[i]:
print "Expected value at ",i," is ",a[i]
print "But got value ",c[i],"in second list"
Run Code Online (Sandbox Code Playgroud)
现在的问题是如何实现以上四个列表中的所有这些?
您可以zip
同时迭代每个列表并比较每个索引处的值。在下面的示例中,我将列表的值a
与其余列表进行比较。
a = [1,2,3,4]
b = [1,2,3,4]
c = [1,2,4,3]
d = [1,2,3,5]
for i, x in enumerate(zip(a, b, c, d)):
print('--------- Index: {}'.format(i))
base = x[0]
for j, y in enumerate(x[1:], 2):
if base!=y:
print('{} not equal to {} : --> List {}'.format(base, y, j))
Run Code Online (Sandbox Code Playgroud)
打印:
--------- Index: 0
--------- Index: 1
--------- Index: 2
3 not equal to 4 : --> List 3
--------- Index: 3
4 not equal to 3 : --> List 3
4 not equal to 5 : --> List 4
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
670 次 |
最近记录: |