我有一个Python字典如下:
Mail_Dict = {
MailList0 : CodeList0,
MailList1 : CodeList1,
MailList2 : CodeList2,
MailList3 : CodeList3,
MailList4 : CodeList4
}
问题是当其中一个MailLists的值与另一个MailList相同时(即:MailList0 = 'someone@email.com'
和MailList1 = 'someone@email.com'
),键被视为相等且CodeList0
获得被CodeList1
覆盖,也使我的字典缩短了。
有没有将这些分开?我认为下面的逻辑相同:
a=1
b=1
保存到单独的内存地址并与以下内容不同:
a=b=1
会在这里适用,但我想情况并非如此=(
提前致谢。
答案 0 :(得分:0)
如果要在字典中创建同一个键的两个值,一个解决方案是将旧值添加到列表中,并将新值附加到列表中。
Mail_Dict = {
MailList0 : CodeList0,
MailList2 : CodeList2,
MailList3 : CodeList3,
MailList4 : CodeList4
}
现在,如果要将MailList1(与MailList0具有相同的值)添加到字典中,请检查MailList1是否已经是列表。如果它不是列表,则将其放入列表中,然后附加新值。
if(MailList1 in Mail_Dict):
if (isinstance(Mail_Dict[MailList1],list)==False):
Mail_Dict[MailList1] = [Mail_Dict[MailList1]
Mail_Dict[MailList1].append(codeList1)