我正在尝试从列表中创建字典。
有些信息是特定的格式,所以它很直接,但我需要一个catcha ;;放置其他任何东西,以便密钥具有多个值,但我无法使其工作。
任何人都可以解释这样做的最佳方法吗?
dv = 'Not Found'
mydict = {'key1': dv,
'key2': dv,
'key3': dv,}
for stuff in list6:
stringit = str(stuff).strip().replace(' ', '_')
descriplst.append(stringit)
for x in descriplst:
if re.match(regasset, x):
mydict['key1'] = x
if re.match(regcid, x):
mydict['key2'] = x
else:
mydict['key3'].append(x)
我得到的错误是:
回溯(最近一次调用最后一次):文件“fixdes.py”,第73行,在mydict ['Interconnect']。append(x)AttributeError:'str'对象没有属性'append'
答案 0 :(得分:0)
字符串值没有追加。 “key3”值必须是一个空的列表开头。然后else语句中的append将起作用。 每个值都将添加到列表的末尾。 “key3”的示例输出:[“value1”,“value2”...“value6”]
将mydict更改为:
mydict = {'key1': dv,
'key2': dv,
'key3': []}
答案 1 :(得分:0)
这是一个类似的示例,其中将具有相同等级的学生添加到字典中的列表,列表中的键=公共 grade 。
这里的成绩是关键,并映射到学生的姓名,但是如果一个以上的学生获得相同的分数,则将其姓名添加到列表中,然后将该列表分配给他们的成绩(关键字)。
dic = {}
for _ in range(int(input())):
name = input()
grade = input()
if grade in dic:
dic[grade].append(name)
else:
dic[grade] = [name]
输入:
5
哈里
37.21
浆果
37.21
蒂娜
37.2
Akriti
41
严厉
39
输出:
{'37.21':['Harry','Berry'],'37 .2':['Tina'],'41':['Akriti'],'39':['Harsh']}