簡體   English   中英

使用 function 更改字典中的值

[英]Change value inside a dictionary with function

我想通過使用表作為參數將 x 的值更改為 10,但它不會更改值。 我也不想修改 arguments 因此 copy()。 我需要做什么?

def change_x(table):
    new_table = table.copy()
    new_table['x'] = 10

def main():
    table = {
        'x': 8,
        'y': 10
    }
    print(table) # prints 8
    change_x(table) # change value of x to 10
    print(table) # prints 8, wanted 10

.copy()是對值存儲位置的引用,因此它不會更改值。 您必須擺脫.copy()以更改值,或者您可以從change_x function 返回新字典。

def change_x(table):
    table['x'] = 10

def main():
    table = {
        'x': 8,
        'y': 10
    }
    print(table) # prints 8
    change_x(table) # change value of x to 10
    print(table) # prints 10, wanted 10

或者

def change_x_1(table):
        table['x'] = 10
        return table

def main():
        table = {
            'x': 8,
            'y': 10
        }

print(table) # prints 8
print( change_x_1(table) ) # change value of x to 10 and it returns 10, wanted 10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM