Python 词典在理解中的独特价值
我有一个小任务要解决 任务:查找序列中的所有对,这些对的总和为某个数字 例如,(1,2,3,4)和目标3产生一对(1,2) 我想出了一个解决办法:Python 词典在理解中的独特价值,python,dictionary,dictionary-comprehension,Python,Dictionary,Dictionary Comprehension,我有一个小任务要解决 任务:查找序列中的所有对,这些对的总和为某个数字 例如,(1,2,3,4)和目标3产生一对(1,2) 我想出了一个解决办法: def pair(lst, find): res = [] for i in lst: if (find - i) in lst: res.append([(find - i),i]) return {x:y for x,y in res} 我有点惊讶地看到字典理解过滤所有重复的解决方案 这实际上形成了我的
def pair(lst, find):
res = []
for i in lst:
if (find - i) in lst:
res.append([(find - i),i])
return {x:y for x,y in res}
我有点惊讶地看到字典理解过滤所有重复的解决方案
这实际上形成了我的问题:词典理解如何以及为什么删除重复项?因为dict散列其键,然后将它们存储在一个类似集合的数据结构中。因此,新创建的{key:value}将覆盖旧的{key:value},在本例中,将覆盖重复的。我认为这可能是一个重复的问题,因为dict散列它的键,然后将它们存储在一个类似集合的数据结构中。因此,新创建的{key:value}将覆盖旧的{key:value},在本例中,将覆盖重复的。我认为这可能是一个重复的问题字典中的键应该是唯一的。
hash
与moduleo一起用于计算存储键的索引。因此,如果两个散列相同,它们将被覆盖。我喜欢将字典理解视为创建一个dict
,然后依次插入每个x:y
。显然,任何具有已作为键存在的值的x
都不会被复制。它只是覆盖现有的y
值。打印一个dict
并找到重复的键会让人惊讶。字典中的键应该是唯一的。hash
和moduleo一起用于计算存储键的索引。因此,如果两个散列相同,它们将被覆盖。我喜欢将字典理解视为创建一个dict
,然后依次插入每个x:y
。显然,任何具有已作为键存在的值的x
都不会被复制。它只是覆盖现有的y
值。打印出一个dict
并找到重复的键会让人惊讶。它不是一个集合式的数据结构。可以有多个None
,需要用键填充。例:对不起,我听不懂你说的话。这个列表的来源是什么?它不是一个集合式的数据结构。可以有多个None
,需要用键填充。例:对不起,我听不懂你说的话。这份名单的来源是什么?