[問題] +=問題

看板Python作者 (沉睡的毛利小五郎)時間8年前 (2017/05/15 21:48), 8年前編輯推噓3(305)
留言8則, 5人參與, 最新討論串1/2 (看更多)
各位前輩好 最近在練習python遇到一個觀念問題 想請教一下 在c#上,我可以使用下列語法,讀完一個list int index=12; while index<100 { console.Write(list[index+=1]); } 但在python上,卻會出現 print(list[index+=1]) ^ SyntaxError: invalid syntax 是在list使用index不能使用index+=1及index=index+1嗎? 或是有別種方式可以使用? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.240.183.210 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1494856096.A.22C.html jackwang01: 如果要一次讀出來的話可以善用slice 謝jackwang01大回應,但小弟不是要一次讀出來,是有length限制 05/15 22:00

05/15 22:59, , 1F
分兩行寫就好啦
05/15 22:59, 1F
CaptainH: 有assign語義的回傳都是None 了解了,那只好分成多行來處理這個部份了,謝謝你回複 05/15 23:00 ※ 編輯: ptoyhawinf (123.240.183.210), 05/15/2017 23:15:46 ※ 編輯: ptoyhawinf (123.240.183.210), 05/15/2017 23:19:02

05/15 23:29, , 2F
其實像C,C++,C#那樣其實會造成更多坑
05/15 23:29, 2F

05/15 23:30, , 3F
例如 a += b += c 到底誰先誰後? a += b += a ?
05/15 23:30, 3F

05/16 08:45, , 4F
有點好奇在C#這會是list[12]還是list[13]?
05/16 08:45, 4F

05/16 08:58, , 5F
a += b 會直接被展開成 a = a + b, 然後 assignment
05/16 08:58, 5F

05/16 08:59, , 6F
expression 會回傳左值, 所以上面的結果對等於 list[13]
05/16 08:59, 6F

05/16 09:00, , 7F
+= 其實算簡單, Python 的 assignment 不回傳值反而特殊
05/16 09:00, 7F

05/16 12:18, , 8F
找自己麻煩...
05/16 12:18, 8F
文章代碼(AID): #1P6R6W8i (Python)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
問題
3
8
文章代碼(AID): #1P6R6W8i (Python)