You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python遍历键值对列表:匹配Yellow-0至Yellow-9的实现问题

解决遍历键值对列表匹配指定key的问题

原代码的问题点

  • 循环变量命名错误:你用key遍历fruits,但列表每个元素是完整字典,应该用item这类变量名指代每个字典元素
  • 未执行实际匹配:判断条件if keyword只是检查字符串非空,永远为True,导致每次循环都打印整个列表
  • 未提取字典中的key字段进行正则匹配

基础修正版代码

先实现匹配并输出目标key的功能:

import re

fruits = [{"key":"Red","value":"Apple"}, {"key":"Yellow-0","value":"Mango"},{"key":"Green","value":"Banana"}]
# 预编译正则表达式,提升重复匹配的效率
yellow_pattern = re.compile(r"Yellow-\d")

# 遍历列表中的每个字典元素
for item in fruits:
    # 取出当前字典的key值
    current_key = item["key"]
    # 用正则匹配key是否符合Yellow-0到Yellow-9的格式
    if yellow_pattern.match(current_key):
        print(current_key)  # 输出匹配到的key,比如Yellow-0
        # 如果需要输出对应value,改成 print(item["value"])

封装成函数的版本

如果要把这个逻辑作为函数的一部分,比如返回第一个匹配项或所有匹配项:

返回第一个匹配到的key(或True)

import re

def find_target_key(fruit_list):
    pattern = re.compile(r"Yellow-\d")
    for item in fruit_list:
        if pattern.match(item["key"]):
            return item["key"]  # 返回匹配的key
            # 若需求是返回True,替换成 return True
    return None  # 无匹配项时返回None

# 测试示例
test_list1 = [{"key":"Red","value":"Apple"}, {"key":"Yellow-0","value":"Mango"},{"key":"Green","value":"Banana"}]
test_list2 = [{"key":"Yellow-0","value":"Mango"}]
print(find_target_key(test_list1))  # 输出: Yellow-0
print(find_target_key(test_list2))  # 输出: Yellow-0

返回所有匹配的完整项

如果需要找出所有符合条件的字典元素:

import re

def find_all_target_items(fruit_list):
    pattern = re.compile(r"Yellow-\d")
    matched_items = []
    for item in fruit_list:
        if pattern.match(item["key"]):
            matched_items.append(item)
    return matched_items

# 测试
test_list = [{"key":"Yellow-1","value":"Lemon"}, {"key":"Red","value":"Apple"}, {"key":"Yellow-5","value":"Pineapple"}]
print(find_all_target_items(test_list))
# 输出: [{'key': 'Yellow-1', 'value': 'Lemon'}, {'key': 'Yellow-5', 'value': 'Pineapple'}]

正则说明

r"Yellow-\d" 表示匹配以Yellow-开头,后面紧跟一个数字的字符串,正好覆盖Yellow-0到Yellow-9的需求。如果后续需要匹配多位数字(比如Yellow-10),可以改成r"Yellow-\d+"。

内容的提问来源于stack exchange,提问作者V. I

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 15:05:36