如何通过引用在字典中设置值?
def set(point):
point=0
dic={'pointer':22}
set(dic['pointer'])
print dic # {'pointer': 0}
我必须提出一个论点。
如何通过引用在字典中设置值?
def set(point):
point=0
dic={'pointer':22}
set(dic['pointer'])
print dic # {'pointer': 0}
我必须提出一个论点。
不要创建名为 的函数set
,因为您将覆盖同名的内置函数。
假设您想在 a 中设置值dict
,这从您的问题中并不完全清楚,您可以使用赋值:
dic={'pointer':22}
dic['pointer'] = 0
print dic # {'pointer': 0}
这是你想做的吗?
>>> dic = {'pointer':22}
>>> dic['pointer'] = 0
>>> print dic
{'pointer':0}
从你的问题不清楚。
您的问题与其他问题的含义略有不同,我如何通过引用设置值:
def setit(point, adic):
adic[point] = 0
dic={'pointer':22}
setit('pointer',dic)
print dic # {'pointer': 0}
在您的版本中,对传递的 set 函数的调用set(dic['pointer'])
只会传递值。
Python 没有像 C 这样的指针类型。变量是引用,因此不需要指针。
虽然 python 并没有像您似乎正在寻找的指针对象,但可以根据需要修改可变对象(所以是列表、dict 之类的东西。不是 int 或 str)。这就是关键;它们可以被修改,而不是在这样的函数中设置。如果您尝试使用 设置值=
,它只会更改setit
本地范围内的变量。如果您访问变量并对其进行修改,则字典中的实际对象将保持修改状态。
def setit(val):
val.pop()
val.append(0)
dic = {'pointer':['22']}
setit(dic['pointer'])
print dic # {'pointer':[0]}