看板 Python 關於我們 聯絡資訊
各位前輩好 最近在練習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
CaptainH: 分兩行寫就好啦 05/15 22:59
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
bibo9901: 其實像C,C++,C#那樣其實會造成更多坑 05/15 23:29
bibo9901: 例如 a += b += c 到底誰先誰後? a += b += a ? 05/15 23:30
tsoahans: 有點好奇在C#這會是list[12]還是list[13]? 05/16 08:45
uranusjr: a += b 會直接被展開成 a = a + b, 然後 assignment 05/16 08:58
uranusjr: expression 會回傳左值, 所以上面的結果對等於 list[13] 05/16 08:59
uranusjr: += 其實算簡單, Python 的 assignment 不回傳值反而特殊 05/16 09:00
a0919610611: 找自己麻煩... 05/16 12:18