我正在编写脚本来比较今天的数据和昨天的数据,数据在三个列表中。今天的数据有时没有,这里的数据不可用。
S = ['abcd5934','abcd5935','abcd5936','abcd7154','abcd7155','abcd7156']
昨天 - [(u'abcd7154',u'1'),(u'abcd7155',u'2'),(u'abcd7156',u'3')]
今天 - []
所以我想查看昨天的列表和今天的列表S列表,是否可以在打印S中使用相应的另一个值。 EX -print out put abcd5934值不是昨天:空 abcd5935价值不是昨天:空 abcd5936价值不是昨天:空 abcd7154价值在昨天:1 abcd7155价值在昨天:2 abcd7156价值在昨天:3
if len(today) == 0:
for server in S:
if server in yesterday:
print "YES "
else:
print "NO "
你能帮我添加第二个值到同一个循环吗?
答案 0 :(得分:0)
我认为你看起来像这样。即使这不是你的问题的正确答案。但它是你正在寻找的方法。
if any( x in S for x in yesterday):
print("Yes")
else:
print("No")
答案 1 :(得分:0)
你的问题真的不清楚,但@ mtkilic的回答帮助我理解......某事。
看起来你想要像:
for server in S:
for yesterday_1, yesterday_2 in yesterday:
if server == yesterday_1:
print "YES : " + str(yesterday_2)
else:
print "NO "
答案 2 :(得分:0)
@B。 Barbieri,我认为你的代码可以胜任,但我们可能不需要为昨天的每个元素打印“NO”。我想我们也可以在找到匹配后停止迭代。
for server in S:
if server in [x[0] for x in yesterday]:
print("YES: {}".format([x[1] for x in yesterday if x[0] == server][0]))
else:
print("NO")
答案 3 :(得分:0)
我已经找到了解决方案,感谢所有支持我的人并鼓励我。
S = ['abcd5934','abcd5935','abcd5936','abcd7154','abcd7155','abcd7156']
Yesterday = [(u'abcd7154', u'1'), (u'abcd7155', u'2'), (u'abcd7156', u'3')]
Today = []
y_servers = [srvr[0] for srvr in Yesterday]
value = [Yes[1] for Yes in Yesterday]
print y_servers
print value
v = 0
for srv in S:
if srv in y_servers:
print("YES, VALUE= %s") % v
else:
print("NO Value = Empty")
v +=1