【发布时间】:2019-03-02 12:10:22
【问题描述】:
我有两个列表。我想将每个列表的“a”的列表索引 [1][2][3] 与“b”的其他列表索引 [1][2][3] 进行比较。如果匹配,则ignore ,如果不是则返回整个列表。
a = [['Eth1/1/13', 'Marketing', 'connected', '10', 'full', 'a-1000'], ['Eth1/1/14', 'NETFLOW02', 'connected', '10', 'full', '100']]
b = [['Eth1/1/13', 'NETFLOW02', 'connected', '15', 'full', '100'], ['Eth1/1/14', 'Marketing', 'connected', '10', 'full', 'a-1000']]
期望的输出:
Diff a:
Eth1/1/14 NETFLOW02 connected 10 full 100
Diff b:
Eth1/1/13 NETFLOW02 connected 15 full 100
我正在尝试什么:
p = [i for i in a if i not in b]
for item in p:
print item[0]
print "\n++++++++++++++++++++++++++++++\n"
q = [i for i in b if i not in a]
for item in q:
print item[0]
在下面尝试但只能匹配内部列表的索引1,索引2和3仍然需要匹配..
[o for o in a if o[1] not in [n[1] for n in b]
我没有得到预期的输出。知道怎么做吗?
【问题讨论】:
-
你得到什么输出?
-
“我没有得到预期的输出。” 错误是什么?你得到了什么输出?
-
我怀疑你的意思是
a[1][2][3],它会返回'n',你是指索引1、2和3吗? -
您想比较 inner 列表中的项目一、二和三吗?您的解决方案是比较 complete inner 列表,我没有看到任何索引或切片。
标签: python list python-2.6