gpt4 book ai didi

python - 需要遍历字典以找到字符串片段

转载 作者:太空狗 更新时间:2023-10-30 02:47:01 24 4
gpt4 key购买 nike

我有一个接受字典作为参数的函数(它是从另一个有效的函数返回的)。这个函数应该要求一个字符串作为输入,并查看字典中的每个元素,看看它是否在里面。字典基本上是三个字母的首字母缩略词:国家,即:AFG:阿富汗等等。如果我要输入“sta”作为我的字符串,它应该将任何具有该切片的国家(如联合国家、阿富汗、哥斯达黎加等)附加到一个初始化的空列表中,然后返回该列表。否则,它返回 [NOT FOUND]。返回的列表应如下所示:[ ['Code','Country'], ['USA','United States'],['CRI','Costa Rica'],['AFG','Afganistan']]等等 这是我的代码到目前为止的样子:

def findCode(countries):
some_strng = input("Give me a country to search for using a three letter acronym: ")
reference =['Code','Country']
code_country= [reference]
for key in countries:
if some_strng in countries:
code_country.append([key,countries[key]])
if not(some_strng in countries):
code_country.append( ['NOT FOUND'])
print (code_country)
return code_country

我的代码一直返回 ['NOT FOUND']

最佳答案

您的代码:

for key in countries:
if some_strng in countries:
code_country.append([key,countries[key]])

应该是:

for key,value in countries.iteritems():
if some_strng in value:
code_country.append([key,countries[key]])

您需要检查字符串的每个值,假设您的国家在值中而不是键中。

还有您的最终返回声明:

if not(some_strng in countries):
code_country.append( ['NOT FOUND'])

应该是这样的,有很多方法可以检查:

if len(code_country) == 1
code_country.append( ['NOT FOUND'])

关于python - 需要遍历字典以找到字符串片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17707277/

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