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

如何在Python中正确使用双层循环?解决列表重复添加问题

问题分析

你的代码里外层循环遍历了services的所有键('first'和'second',共2个),所以内层的append循环会被触发两次,每次都把x的全部元素添加到services['first']中,最终导致元素重复。

解决方法

方法1:直接移除外层循环(最简洁)

既然你只需要给'first'对应的列表添加元素,完全不需要遍历整个services字典,直接操作目标键即可:

services = {
    'first':[],
    'second':[]
}

x = [1,2,3,4,5]
# 直接遍历x添加元素
for i in x:
    services['first'].append(i)

print(services)

更高效的写法是直接赋值(避免循环append):

services['first'] = x.copy()  # 使用copy防止后续修改x影响services内的列表
# 或者用切片实现复制:services['first'] = x[:]

方法2:保留外层循环但添加判断逻辑

如果你的实际场景中需要遍历services的键,但只对'first'执行添加操作,可以加条件判断:

services = {
    'first':[],
    'second':[]
}

x = [1,2,3,4,5]
for key in services:
    print('loop-one -  ', key)
    if key == 'first':  # 仅当键为'first'时执行添加
        for i in x:
            services[key].append(i)

print(services)

内容的提问来源于stack exchange,提问作者no name

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:10:37