gpt4 book ai didi

python - 将字符串中的单个单词与字典键匹配

转载 作者:行者123 更新时间:2023-12-01 13:17:14 24 4
gpt4 key购买 nike

您好,我正在尝试输入一个字符串,然后将该字符串拆分为单个单词。字符串中以及“contents”的字典键中的唯一词从字典“files”中检索相应的值。

如何拆分输入字符串以根据字典“概念”键检查单个单词,并在可能的情况下返回字符串中的单词,而不是字典键?

我试图将字符串拆分成一个列表,然后将列表值直接传递到字典中,但我很快就迷路了(那些是在顶部注释掉的变量。感谢任何帮助。谢谢

def concept(word):

# convert var(word) to list
#my_string_list=[str(i) for i in word]

# join list(my_string_list) back to string
#mystring = ''.join(my_string_list)

# use this to list python files
files = {1:"file0001.txt",
2:"file0002.txt",
3:"file0003.txt",
4:"file0004.txt",
5:"file0005.txt",
6:"file0006.txt",
7:"file0007.txt",
8:"file0008.txt",
9:"file0009.txt"}

# change keys to searchable simple keyword phrases.
concepts = {'GAMES':[1,2,4,3,3],
'BLACKJACK':[5,3,5,3,5],
'MACHINE':[4,9,9,9,4],
'DATABASE':[5,3,3,3,5],
'LEARNING':[4,9,4,9,4]}

# convert to uppercase, search var(mystring) in dict 'concepts', if not found return not found"
if word.upper() not in concepts:
print("{}: Not Found in Database" .format(word)) not in concepts
return

# for matching keys in dict 'concept' list values in dict 'files'
for pattern in concepts[word.upper()]:
print(files[pattern])


# return input box at end of query
while True:
concept(input("Enter Concept Idea: "))
print("\n")

最佳答案

假设输入是由空格分隔的单词列表,您可以这样做:

def concept(phrase):

words = phrase.split()

# use this to list python files
files = {1: "file0001.txt",
2: "file0002.txt",
3: "file0003.txt",
4: "file0004.txt",
5: "file0005.txt",
6: "file0006.txt",
7: "file0007.txt",
8: "file0008.txt",
9: "file0009.txt"}

# change keys to searchable simple keyword phrases.
concepts = {'GAMES': [1, 2, 4, 3, 3],
'BLACKJACK': [5, 3, 5, 3, 5],
'MACHINE': [4, 9, 9, 9, 4],
'DATABASE': [5, 3, 3, 3, 5],
'LEARNING': [4, 9, 4, 9, 4]}

for word in words:
# convert to uppercase, search var(mystring) in dict 'concepts', if not found return not found"
if word.upper() not in concepts:
print("{}: Not Found in Database".format(word))
else:
# for matching keys in dict 'concept' list values in dict 'files'
for pattern in concepts[word.upper()]:
print(files[pattern])

concept("games blackjack foo")

输出

file0001.txt
file0002.txt
file0004.txt
file0003.txt
file0003.txt
file0005.txt
file0003.txt
file0005.txt
file0003.txt
file0005.txt
foo: Not Found in Database

words = phrase.split() 行在空格处拆分字符串短语。要检查一个单词是否在字典中,您需要一次检查一个单词,因此循环 for word in words 遍历 phrase 中的单词。

进一步

  1. How can I check if a key exists in a dictionary?
  2. Split a string by a delimiter in python

关于python - 将字符串中的单个单词与字典键匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53643260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com