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

求助:将列表转换为含所有键值对的Python完整字典

列表转字典仅保留最后一组键值对的解决方法

你的代码存在两个关键问题:

  • 每次循环都重新创建新字典,而非向同一个字典中添加键值对,导致之前的内容被不断覆盖,最终只剩最后一组数据。
  • Python中获取列表长度的正确函数是len(),不是length(),原代码会触发语法错误。

下面是几种可行的修正方案:

方案一:初始化空字典,循环添加键值对

这是最直观的写法,适合新手理解:

values_list = ['apple', 87, 'fan', 88, 'jackal', 89, 'bat', 98, 'car', 84, 'ice', 80, 'car', 86, 'apple', 82, 'goat', 80, 'dog', 81, 'cat', 80, 'eagle', 90, 'eagle', 98, 'hawk', 89, 'dog', 79, 'fan', 89, 'goat', 85, 'car', 81, 'hawk', 90, 'ice', 85, 'cat', 78, 'goat', 84, 'jackal', 90, 'apple', 80, 'ice', 87, 'bat', 94, 'bat', 92, 'jackal', 91, 'eagle', 93, 'fan', 85]

# 先创建一个空字典
values_count_dict = {}
# 以步长2遍历列表,每次取键和对应的值
for i in range(0, len(values_list), 2):
    values_count_dict[values_list[i]] = values_list[i+1]

print(values_count_dict)

注意:字典的键具有唯一性,若原列表中存在重复键(比如多次出现的apple、car),后面的数值会覆盖前面的。

方案二:使用字典推导式(简洁写法)

一行代码完成转换,适合熟悉Python语法的用户:

values_list = ['apple', 87, 'fan', 88, 'jackal', 89, 'bat', 98, 'car', 84, 'ice', 80, 'car', 86, 'apple', 82, 'goat', 80, 'dog', 81, 'cat', 80, 'eagle', 90, 'eagle', 98, 'hawk', 89, 'dog', 79, 'fan', 89, 'goat', 85, 'car', 81, 'hawk', 90, 'ice', 85, 'cat', 78, 'goat', 84, 'jackal', 90, 'apple', 80, 'ice', 87, 'bat', 94, 'bat', 92, 'jackal', 91, 'eagle', 93, 'fan', 85]

values_count_dict = {values_list[i]: values_list[i+1] for i in range(0, len(values_list), 2)}
print(values_count_dict)

方案三:用zip函数分组转换(可读性最高)

通过切片把原列表拆成键列表和值列表,再用zip配对后转字典:

values_list = ['apple', 87, 'fan', 88, 'jackal', 89, 'bat', 98, 'car', 84, 'ice', 80, 'car', 86, 'apple', 82, 'goat', 80, 'dog', 81, 'cat', 80, 'eagle', 90, 'eagle', 98, 'hawk', 89, 'dog', 79, 'fan', 89, 'goat', 85, 'car', 81, 'hawk', 90, 'ice', 85, 'cat', 78, 'goat', 84, 'jackal', 90, 'apple', 80, 'ice', 87, 'bat', 94, 'bat', 92, 'jackal', 91, 'eagle', 93, 'fan', 85]

# 切片取偶数位元素作为键,奇数位作为值
keys = values_list[::2]
values = values_list[1::2]
values_count_dict = dict(zip(keys, values))
print(values_count_dict)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 06:45:36