作者ptoyhawinf (沉睡的毛利小五郎)
看板Python
標題[問題] +=問題
時間Mon May 15 21:48:14 2017
各位前輩好
最近在練習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://webptt.com/m.aspx?n=bbs/Python/M.1494856096.A.22C.html
→ jackwang01: 如果要一次讀出來的話可以善用slice
謝jackwang01大回應,但小弟不是要一次讀出來,是有length限制 05/15 22:00
1F:推 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
2F:→ bibo9901: 其實像C,C++,C#那樣其實會造成更多坑 05/15 23:29
3F:→ bibo9901: 例如 a += b += c 到底誰先誰後? a += b += a ? 05/15 23:30
4F:推 tsoahans: 有點好奇在C#這會是list[12]還是list[13]? 05/16 08:45
5F:→ uranusjr: a += b 會直接被展開成 a = a + b, 然後 assignment 05/16 08:58
6F:→ uranusjr: expression 會回傳左值, 所以上面的結果對等於 list[13] 05/16 08:59
7F:→ uranusjr: += 其實算簡單, Python 的 assignment 不回傳值反而特殊 05/16 09:00
8F:推 a0919610611: 找自己麻煩... 05/16 12:18