首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较列表中的每个元素

比较列表中的每个元素
EN

Stack Overflow用户
提问于 2015-10-22 23:24:26
回答 4查看 70关注 0票数 1

是否可以匹配两个元组,逐个比较每个元素,并确定更改发生在何处。

注意: runA和runB输出在循环中,这意味着它不是硬编码的。runA和runB可以是范围tool01到tool100或tool01等,这取决于对我的查询的循环结果。只是简单地说,工具在for循环中,所以工具no可以或多或少。

输出1的示例结果:

代码语言:javascript
复制
runA = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '23')]

runB = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '22')]

预期结果1:

代码语言:javascript
复制
print 'there is a changes on tool03'  

输出2的示例结果:

代码语言:javascript
复制
runA = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '23')]

runB = [(u'tool01', '20'), (u'tool02', '21'), (u'tool03', '23')]

预期结果2:

代码语言:javascript
复制
print 'there is a changes on tool01' 
print 'there is a changes on tool02' 

输出3的示例结果:

代码语言:javascript
复制
runA = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '23')]

runB = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '23')]

预期结果3:

代码语言:javascript
复制
print 'there is no change'

任何建议或基本代码,谢谢提前。

注意: runA和runB输出在循环中,这意味着它不是硬编码的。runA和runB可以是范围tool01到tool100或tool01等,这取决于对我的查询的循环结果。只是简单地说,工具在for循环中,所以工具no可以或多或少。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-10-23 01:49:28

代码语言:javascript
复制
runA = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '23')]
runB = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '22')]
for i in range(len(runA)):
    if runA[i] == runB[i]:
        print True
    else:
        print False
票数 0
EN

Stack Overflow用户

发布于 2015-10-22 23:30:03

代码语言:javascript
复制
for i in runA - 1:
  If runA[i][1] != runB[i][1]:
    print 'there is a changes in ' + runA[i][0]

假设有两件事:

  1. 这些清单的长度相等
  2. 元组名称具有相同的索引。

正如您的一位评论者所建议的,使用dict会更容易,因为您可以遍历键并使用d[key]访问成员。

票数 0
EN

Stack Overflow用户

发布于 2015-10-22 23:38:45

代码语言:javascript
复制
#/bin/python
confirm_change=False

runA = [(u'tool01', '21'), (u'tool02', '22'), (u'tool03', '23')]

runB = [(u'tool01', '20'), (u'tool02', '21'), (u'tool03', '23')]

for i in runA:
    for j in runB:
        if i[0]==j[0] and not i[1]==j[1]:
            confirm_change=True
            print("there is a change in",i[0])
if confirm_change==False:
    print("There is no change")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33292438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档