在下面的程序中,正如我們所知道的,在Python中,String是不可變的,如果我們將值重新賦值給python中的字符串,則會創建新的變量(引用)。用於循環迭代的字符串變量
S = "Nagu"
print (id (S))
S = "Santh"
print (id (S))
輸出:
43578232
43578288
在正在進行的列表名稱的下面程序遍歷,
names = ["nagu","santh"]
for name in names:
name = "K." + name
print("{0} : {1}".format(id(name),name))
輸出:
43579688 : K.nagu
43579688 : K.santh
中的名稱變量循環獲得不同的價值e從列表中不更改id如何可能?
什麼是問題?我沒看到它。請提供您的願望解決方案 – Gahan
@Gahan,問題是「for循環中的'name'變量從列表*中獲得了不同的值*而不更改id *」以及它如何可能? – zhenguoli
坦白地說,我不明白爲什麼它應該爲您提供相同的ID,想到其他語言中的列表爲第一個字符串「分配」一個節點,並且爲第二個字符串分配一個節點,沒有理由使用相同的ID無論如何 – LiorA