Re: [問題] if 'string' not in i:

看板Python作者 (荒圍!定厝!賊!妹!)時間10年前 (2013/08/28 23:47), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串6/6 (看更多)
:所以 list(a) 製造出來的新 list 中, 包含的項目與 a 的項目是同樣的東西 :注意不是值相同, 而是真的是「同一個」

08/27 09:52,
抱歉我覺得最後一段有點怪 list(a)是copy喔 跟a不是同一個
08/27 09:52

08/27 09:53,
東西 只是值相同(就是有兩條list) b=a才會指到同一個東西
08/27 09:53

08/27 09:54,
也可能是我理解力不好 這裡只是為了澄清觀念 感謝
08/27 09:54

08/27 11:58,
樓上要講reference 比較好
08/27 11:58

08/27 12:16,
Reference 是強調內容物,list(a)本文有強調是新的了
08/27 12:16

08/28 16:34,
原文是說"包含的項目"啊,並沒說a和list(a)指到同一地方
08/28 16:34

08/28 18:07,
我困惑的是下一行:"注意不是值相同, 而是真的是「同一個"
08/28 18:07

08/28 18:09,
不過感謝樓上兩位 我想我概念上有比較清楚 另外抱歉表達不好
08/28 18:09
恕刪 若 a 是個 list 的話,b = a 與 b = list(a) 之間唯一的不同就是 # 前者的表現 b = a b == a # True b is a # True b[0] == a[0] # True b[0] is a[0] # True # 後者的表現 b = list(a) b == a # True b is a # False b[0] == a[0] # True b[0] is a[0] # True 這樣就能知道不論用哪種方法,裡頭的元素的確不僅值一樣,連在記憶體中的位置也是, 這就是原po要表達的「真的是『同一個』」 至於 vagic 大大則是只看 a 和 b 這兩個 container 的相等性, 並且理解的行為也沒錯,用 list() 時真的會在記憶體裡放另一條 list。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.13.159

08/29 11:56, , 1F
原來是這個意思!!哈哈 謝謝我瞭解了 所以應該可以說是list
08/29 11:56, 1F

08/29 12:00, , 2F
裡面裝reference.. 恩感謝!! btw看到有人用id(a)check位置
08/29 12:00, 2F

08/29 14:46, , 3F
is 就是用 id(),平常不需要用到那個函數。
08/29 14:46, 3F

08/30 06:18, , 4F
謝謝樓上!!
08/30 06:18, 4F
文章代碼(AID): #1I7XjzCE (Python)
討論串 (同標題文章)
文章代碼(AID): #1I7XjzCE (Python)