在python函数中保存字典值

2024-04-19 12:13:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在学习python,有一个关于如何通过python函数保存字典值的问题。你知道吗

import copy
def func():
    b = {'1':'d'}
    a = copy.deepcopy(b)
global a
a = {}
func()
print a

打印输出仍然是{},如何使它成为{'1':'d'}?你知道吗


Tags: 函数import字典defglobalfuncprintcopy
3条回答

您在两个不同的范围内定义“a”,一个在“全局”范围内,一个在函数范围内。你需要回来复制.deepcopy(b) 并将其设置为外部定义的“a”的值。你知道吗

import copy

def func():
    b = {'1':'d'}
    return copy.deepcopy(b)
global a

a = func()
print a

我将global a移到函数定义中。你知道吗

#! /usr/bin/python

import copy
def func():
    global a
    b = {'1':'d'}
    a = copy.deepcopy(b)
a = {}
func()
print a

您需要说您正在访问函数内部的global变量a,如下所示

def func():
    global a
    b = {'1': 'd'}
    a = copy.deepcopy(b)

但是,我宁愿不做那样的事。相反,返回副本,然后将其存储在呼叫位置,如下所示

import copy
a = {}


def func():
    b = {'1': 'd'}
    return copy.deepcopy(b)

a = func()
print a

相关问题 更多 >