作者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/cn.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