我有三个独立的字典找到值不在字典
d1 = {'1': 1, '2': 2, '3': 3, '4' :4}
d2 = {'5': 5, '7': 7, '9': 9, '10' :10}
d3 = {'12': 12, '23': 23, '30': 30, '14' :14}
我想从一个文件,并测试采取行,如果三列有目前在这些字典值。如果三列中的值不在字典中,我想打印非匹配对应的文件行。以下是我迄今写:
OutputFileName = "results.txt"
OutputFile = open(OutputFileName, 'w')
import csv
with open('inputfile.txt') as f:
reader = csv.DictReader(f,delimiter="\t")
for row in reader:
assign1 = row['assign1']
assign2 = row['assign2']
assign3 = row['assign3']
if assign1 in d1:
这是我碰到一些困惑。我只想要不在d1中的任务。这是我想要做的一些伪类型代码:
if assign1 not in d1:
if assign2 not in d2:
if assign3 not in d3:
OutputFile.write(''+assign1+'\t'+assign2+'\t'+assign3+'\n')
有没有一种简单的方法可以用字典来做到这一点?我应该使用else
声明吗?我遇到了在这种情况下执行else的问题
所以,如果你想打印行,如果'assign's _none_是在其各自的字典?为什么不使用'if ...和...和...:'? –
如果这是你的字典的准确表示,即'str(x):x'那么你应该只使用一个列表并在必要时进行转换 – SirParselot
@SirParselot是的,我想我需要切换到列表。我正在尝试这 – interstellar