如何在Python中通过关键字搜索列表项



我有一个列表ListA:

ListA = [ 'Key1: test1',  'Key2: test2', 'Key3: test3']

我想做的是我想要搜索一个特定的值到它各自的键。例如:如果用户输入test1,它应该返回给我Key1如果用户输入test3,它应该返回Key3。我在网上研究了很多,但似乎很多人都在谈论比较两个不同的列表,而不是比较同一个列表。我对编程还是个新手,所以我想问一下我的想法是不是很糟糕?这是一种更好的方法吗?

按照原来的方式解决问题:

from typing import Dict, List

ListA = ['Key1: test1',  'Key2: test2', 'Key3: test3']
def get_key_from_value_list(target_list: List, target_value: str):
for entry in target_list:
key, list_value = entry.split(":")
if target_value == list_value.strip():
return key
print("List:", get_key_from_value_list(ListA, "test1"))

结果:

List: Key1

但是考虑到你提到你正在反序列化JSON,你最好使用Python中实际的json模块来解析它,这样你就可以得到一个实际的dict对象,这比处理列表要容易得多。这样做需要:

from typing import Dict, List
import json
dict_a = json.loads('{"Key1": "test1","Key2": "test2","Key3": "test3"}')
def get_key_from_value_dict(target_dict: Dict, target_value: str):
for key, value in target_dict.items():
if target_value == value:
return key
print("Dict: ", get_key_from_value_dict(dict_a, "test1"))

结果:

Dict:  Key1

相关内容

  • 没有找到相关文章

最新更新