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

提取Google TextSearch API餐厅数据生成的列表出现重复元组如何解决?

问题原因

你的代码多了一层不必要的内层循环for key, value in container.items(),这层循环会遍历单个餐厅信息字典的所有键值对,每遍历一个键,就会向response_data中插入一次完全相同的餐厅元组,所以最终元组的重复次数等于单个餐厅字典的键的数量。

修复方案

直接去掉内层循环,遍历每个餐厅容器后直接提取字段存入列表即可,参考代码如下:

response_data = []
for container in l:
    item = (
        container.get('name'),
        container.get('formatted_address'),
        container.get('opening_hours'),
        container.get('price_level'),
        container.get('rating')
    )
    response_data.append(item)

如果想要更简洁的写法,也可以用列表推导式实现:

response_data = [
    (
        c.get('name'),
        c.get('formatted_address'),
        c.get('opening_hours'),
        c.get('price_level'),
        c.get('rating')
    ) for c in l
]

补充说明

  • 原代码中用extend([(...)])也可以实现新增单个元组的效果,但更适合新增单个元素的方法是append(),语义更清晰,也不需要额外把元组包成列表。
  • dict.get()方法在键不存在时会返回None,符合缺失字段留空的需求,不需要修改。

内容的提问来源于stack exchange,提问作者DJ-coding

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:39:00