第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法將列表中變量的更改反映在列表中?

有沒有辦法將列表中變量的更改反映在列表中?

慕妹3242003 2023-06-20 13:34:49
例如:Variable = 1List = [0, Variable, 2, 3]Variable = 5print(List)輸出是 [0,1,2,3]。除了重新定義列表之外,還有其他方法可以獲取 [0,5,2,3] 嗎?另外,是否可以反向完成(即List[1] = 5,使Variable == 5)?
查看完整描述

3 回答

?
拉風(fēng)的咖菲貓

TA貢獻1995條經(jīng)驗 獲得超2個贊

不直接。該列表不會知道重新分配,也沒有任何方法可以攔截重新分配并進行一些元編程。(*錯誤除外,見注釋)。如果Variable是一個容器,你可以更新它的內(nèi)容,兩者都會看到。例如,它可以是 adict或 a 。list但是上課是一種方便的方法。在這個簡單的示例中,所有用戶都必須知道如何使用variable.val,但您也可以花時間實現(xiàn)所有 dunder 方法以將其抽象出來。


class Variable:

? ? def __init__(self, val):

? ? ? ? self.val = val


variable = Variable(1)

my_list = [0, variable, 2, 3]

variable.val += 1

my_list[1].val += 1

print(variable.val)

*請注意原始問題中的評論可以覆蓋分配,但它很混亂。

查看完整回答
反對 回復(fù) 2023-06-20
?
胡子哥哥

TA貢獻1825條經(jīng)驗 獲得超6個贊

首先,您需要了解為什么您的代碼無法按預(yù)期方式工作。首先,您聲明了變量Variable并將其初始化為 1。然后在列表中使用了它?,F(xiàn)在您的列表包含 0、Variable、2、3 的值,這與包含 0、1、2、3 值的列表相同?,F(xiàn)在您更新了變量 called 并將其更改為 5。你看,Variable你更新了變量而不是列表......列表沒有使用變量,所以它從那個變量中提取了它需要的數(shù)據(jù),這是第一個......所以就好像你從來沒有把一個變量叫做Variable,就好像你只是把數(shù)字放在第一位......所以當(dāng)你更新變量時,列表只是看著它,就像“那個包裹不適合我,我已經(jīng)得到了我的!”?,F(xiàn)在足夠的胡言亂語......到解決方案!首先在創(chuàng)建列表后,如果您知道要更新該特定值,請將其存儲在一個變量中:


Variable = 1

List = [0, Variable, 2, 3]

Variable = List[1]

現(xiàn)在列表看到你正在使用這個值,并隨之更新......所以如果你更新它你不是更新變量而是更新列表中的值:


Variable = 1

List = [0, Variable, 2, 3]

Variable = List[1]

Variable = 5

所以如果你告訴它打印列表:


print(List)

你的結(jié)果是“[0, 5, 2, 3]”!希望這有幫助!


查看完整回答
反對 回復(fù) 2023-06-20
?
慕后森

TA貢獻1802條經(jīng)驗 獲得超5個贊

Python 變量保存值的引用。

變量 = 1 列表 = [0, 變量, 2, 3]

在您的列表中,您傳遞的是變量引用而不是值本身。

唯一的反映方式

列表 [1] = 變量


查看完整回答
反對 回復(fù) 2023-06-20
  • 3 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號