我有三個獨立的字典找到值不在字典
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