Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 词典在理解中的独特价值_Python_Dictionary_Dictionary Comprehension - Fatal编程技术网

Python 词典在理解中的独特价值

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} 我有点惊讶地看到字典理解过滤所有重复的解决方案 这实际上形成了我的

我有一个小任务要解决

任务:查找序列中的所有对,这些对的总和为某个数字

例如,(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}
我有点惊讶地看到字典理解过滤所有重复的解决方案


这实际上形成了我的问题:词典理解如何以及为什么删除重复项?

因为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
,需要用键填充。例:对不起,我听不懂你说的话。这份名单的来源是什么?