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

如何基于键值对筛选列表元素并添加至新列表?

问题解决与代码修正

代码里的两个核心错误

  1. 获取loan_price的方式错误:你循环的是loans列表,item才是列表里的每个字典元素,应该用item.get("loan_price")或者item["loan_price"],而不是loans.get("loan_price")(loans是列表,没有get方法)。
  2. append方法调用错误:inexpensive_loans.append只是引用了方法,没有执行添加操作,必须加上括号和要添加的元素,也就是inexpensive_loans.append(item)。

正确的代码写法

loans = [
    {
        "loan_price": 700,
        "remaining_months": 9,
        "repayment_interval": "monthly",
        "future_value": 1000,
    },
    {
        "loan_price": 500,
        "remaining_months": 13,
        "repayment_interval": "bullet",
        "future_value": 1000,
    },
    {
        "loan_price": 200,
        "remaining_months": 16,
        "repayment_interval": "bullet",
        "future_value": 1000,
    },
    {
        "loan_price": 900,
        "remaining_months": 16,
        "repayment_interval": "bullet",
        "future_value": 1000,
    },
]

inexpensive_loans = []

for item in loans:
    # 直接从循环的当前字典元素中取loan_price
    if item["loan_price"] <= 500:
        inexpensive_loans.append(item)

print(f"{inexpensive_loans}")

针对你的问题解答

  • 怎么获取列表中元素的loan_price值?:在遍历列表的循环里,每个item就是列表中的字典对象,直接用item["loan_price"](适合确定每个字典都有该键的场景)或者item.get("loan_price")(适合可能存在无该键的场景,会返回None)就能拿到对应的值。
  • 是否需要先获取该值再执行循环?:不需要。直接在循环过程中逐个处理列表里的元素,同时取出loan_price判断条件即可,这样更高效简洁。

内容的提问来源于stack exchange,提问作者Jeffrey Crabill

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:50:22