[英]Comparing a list to dictionary values
我應該將一個句子與一組鍵值進行比較,並將句子中的某些單詞與字典對中的相應值進行交換。 這是我到目前為止所擁有的:
keys = input().split(" ")
sentence = input().split(" ")
parent = {}
g = 0
for x in range(len(keys)):
if x % 2:
parent[first] = keys[x]
else:
first = keys[x]
for k,f in enumerate(sentence):
if f is parent.keys():
sentence[k] = parent.get(f,na)
else:
g+=1
print(sentence)
print(g)
底部的打印語句只是確認第二個循環正在運行。 我需要整理的其他東西很少,但我現在的主要問題是
for k,f in enumerate(sentence):
if f is parent.keys():
sentence[k] = parent.get(f,na)
第一個 if 一直被跳過,我讓我的 print(g) 輸出它所做的循環數; 這是全部。
謝謝!!
正如其他人在評論中所說,你有一個錯字。 if f is parent.keys():
應該是if f in parent.keys():
或者更簡潔的if f in parent:
此錯誤的原因是parent.keys()
生成一個鍵列表,並且您正在嘗試檢查 f 是否與字典的鍵是同一個對象。 您可能試圖做的是檢查字符串 f 是否存在於鍵列表中。
為了將來引用x is y
檢查 x 和 y 是否引用同一個對象。 x in y
檢查x in y
的值是否存在於序列 y 中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.