我正在嘗試製作一個程序,該程序將接受輸入,查看是否有任何這些單詞是先前定義的字典中的鍵,然後替換任何發現的單詞與他們的條目。難點在於「看看單詞是否是關鍵」。例如,如果我想在這個字典替換項:Python - 用字典中的條目替換字符串中的單詞
dictionary = {"hello": "foo", "world": "bar"}
我怎樣才能使給定的輸入的「Hello World」時,它打印「富巴」?
我正在嘗試製作一個程序,該程序將接受輸入,查看是否有任何這些單詞是先前定義的字典中的鍵,然後替換任何發現的單詞與他們的條目。難點在於「看看單詞是否是關鍵」。例如,如果我想在這個字典替換項:Python - 用字典中的條目替換字符串中的單詞
dictionary = {"hello": "foo", "world": "bar"}
我怎樣才能使給定的輸入的「Hello World」時,它打印「富巴」?
這工作在Python 2.x中:
dictionary = {"hello": "foo", "world": "bar"}
inp = raw_input(":")
for key in inp.split():
try:
print dictionary[key],
except KeyError:
continue
但是,如果你是Python的3.x的,你會想這樣的:
dictionary = {"hello": "foo", "world": "bar"}
inp = input(":")
for key in inp.split():
try:
print(dictionary[key], end="")
except KeyError:
continue
假設一個 「字」 是一個連續的字符序列,您可以將輸入拆分爲空格,然後爲每個單詞檢查它是否在字典中。
new_str = ""
words = your_input.split(" ")
for i in range(0, len(words)):
word = words[i]
if word in dictionary:
words[i] = dictionary[word]
現在您可以對最終的單詞列表做些什麼。例如,他們一起用空格
" ".join(words)
不同的方法一起分離
你可以在python的任何地方使用「k」和「v」來表示鍵和值嗎?如果不是,在這段代碼中它定義了k是一個鍵,v是一個字典的值? – wakkydude
@wakkydude「for k,v in ...」位將iteritems()返回的元組解包爲這些名稱。你可以任意調用它們,但'k'和'v'是典型的名字。 – geoffspear