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

Python筛选姓氏以大写Z开头的客户返回空列表,问题出在哪?

代码问题排查与修复方案

核心问题点

  • 第一处错误:你对列表推导生成的姓氏列表额外调用了str()方法,将整个列表转为了普通字符串。此时customers_lastname的格式类似"['Smith', 'Jones', 'Zimmer']",你后续调用customers_lastname[-1]实际取到的是这个字符串的最后一个字符],永远不可能满足以Z开头的判断条件,所以最终返回空列表。
  • 第二处错误:即使移除str()调用,你的判断逻辑也存在问题。你在遍历单个客户时,没有对当前客户的姓氏做判断,而是固定取整个姓氏列表的最后一个元素做匹配,相当于只有列表最后一个客户的姓氏以Z开头时,所有客户才会被加入结果,逻辑完全不符合需求。

修复后代码

不需要额外提前提取所有姓氏,直接在列表推导内对当前遍历的客户做处理即可:

lastname_z = [customer for customer in customers_sorted if customer.split(" ")[-1].startswith('Z')]

内容的提问来源于stack exchange,提问作者Douglas Alexander Hernandez Va

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:15:03