【发布时间】:2021-01-12 17:48:44
【问题描述】:
我正在尝试创建一个将列表转换为字典的系统。键应该是列表中的项目,而每个唯一键的值应该是递增的数字(1、2、3、4 等)。
期望的结果:
Input:
list = ["Ford", "Ford", "Chevy", "Chevy", "Chevy", "Honda", "Honda", "Honda", "Honda"]
Output:
dict = {
"Ford": 1,
"Ford": 1,
"Chevy": 2,
"Chevy": 2,
"Chevy": 2,
"Honda": 3,
"Honda": 3,
"Honda": 3,
"Honda": 3,
}
我尝试使用它,因为它可以让我从 0 开始并递增。它最终没有工作。
dict = {}
list = []
for x, index in list:
if x not in list:
dict[x] = len(dict)
这是我得到的错误:
ValueError: too many values to unpack (expected 2)
谁能帮忙?
【问题讨论】:
-
字典中不能有重复的键;您想要的输出 t 是不可能的。
-
几个问题: 1. 您应该在索引时使用
enumerate迭代列表,然后顺序为index, element2. 您正在迭代list(这是一个错误的变量name BTW) 然后if检查该元素是否在列表中not。这个检查没有意义。 3. 字典中不能有重复的键 -
@MarkMeyer 无论如何都有一个键和该键的多个值
-
@MarkMeyer 我想我想要一个键,然后是一个值列表
-
@MarkMeyer 你能帮我吗
标签: python list dictionary arraylist valueerror