Python 从另一个函数设置字典?

Python 从另一个函数设置字典?,python,function,python-2.7,dictionary,Python,Function,Python 2.7,Dictionary,我正在尝试编写一个程序,它获取一个字典,制作一个副本,然后用键交换副本中的值。但是,第一个字典的元素必须来自不同的函数。我知道如何交换键/值,但不知道如何将所有内容添加到原始词典中。有什么想法吗?(testReverse无法编辑。只有reverse可以编辑。) 您需要接受输入字典作为函数参数,并且需要返回相反的结果: def reverse(inputdict): return {y:x for x,y in inputdict.iteritems()} 因为听写理解能创造出一部新的词

我正在尝试编写一个程序,它获取一个字典,制作一个副本,然后用键交换副本中的值。但是,第一个字典的元素必须来自不同的函数。我知道如何交换键/值,但不知道如何将所有内容添加到原始词典中。有什么想法吗?(testReverse无法编辑。只有reverse可以编辑。)

您需要接受输入字典作为函数参数,并且需要返回相反的结果:

def reverse(inputdict):
    return {y:x for x,y in inputdict.iteritems()}
因为听写理解能创造出一部新的词典,以上就是所需要的全部;不需要创建显式副本

演示:

同样,这不涉及原始词典:

>>> testdict = {'foo': 'bar'}
>>> reverse(testdict)
{'bar': 'foo'}
>>> testdict
{'foo': 'bar'}
您需要接受输入字典作为函数参数,并且需要返回相反的结果:

def reverse(inputdict):
    return {y:x for x,y in inputdict.iteritems()}
因为听写理解能创造出一部新的词典,以上就是所需要的全部;不需要创建显式副本

演示:

同样,这不涉及原始词典:

>>> testdict = {'foo': 'bar'}
>>> reverse(testdict)
{'bar': 'foo'}
>>> testdict
{'foo': 'bar'}
还有一种方法:

def reverse(d):
    return {d[k]:k for k in d}
还要记住,原始字典中的值必须是唯一的,否则将丢失新字典中的键和值对。例如:

>>> a = {1:-1, 2:-2, 3:-3, 4:-1}
>>> reverse(a)
{-2: 2, -1: 4, -3: 3}
还有一种方法:

def reverse(d):
    return {d[k]:k for k in d}
还要记住,原始字典中的值必须是唯一的,否则将丢失新字典中的键和值对。例如:

>>> a = {1:-1, 2:-2, 3:-3, 4:-1}
>>> reverse(a)
{-2: 2, -1: 4, -3: 3}

这看起来不错,但有一个问题:这是用切换值创建一个新字典,还是编辑原始字典?@Machinist'sGuardianArchangel:它不能接触原始字典,因为除了
iteritems()
方法之外,我们没有接近原始字典。dict理解(
{key:value for…}
)总是创建一个全新的dictionary对象。这看起来不错,但有一个问题:它是用切换的值创建一个新的dictionary,还是编辑原始dictionary?@Machinist'sGuardianArchangel:它不能接触原始dictionary对象,因为除了
iteritems()
method,我们没有接近原始词典。口述理解(
{key:value for…}
)始终会创建一个全新的字典对象。如果答案解决了您的问题,请记住将答案标记为已接受。如果答案解决了您的问题,请记住将答案标记为已接受。