PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Python
Re: [问题] for loop 的 index 存取问题
楼主:
rexyeah
(ccccccc)
2018-06-26 16:35:05
※ 引述《henry8168 (番薯猴)》之铭言:
: 刚发现一件我误会很久的事情,假设我有段程式码:
: for i in range(5):
: print(i)
: i += 1
: 我执行的预期结果是
: 0
: 2
: 4
: 结果却是
: 0
: 1
: 2
: 3
: 4
: https://imgur.com/V0glZVM.png
: 这跟 C++ 的理解真的差很多,请问我该怎么让它出现预期的结果?
: 因为这本来是写在判断某个条件发生时,要 iterator 跳过下次的执行用的。
因为不知道你要判断什么条件,以你要的预期结果也许可以写成
def do(x):
# do something
print x
[do(a) for a in range(5) if not (a%2)]
result:
0
2
4
: 写 next(i) 无法达到目的,因为 i 是 int type。
: 请教各位大神。
作者: AlaRduTP (Eden)
2018-06-26 23:34:00
这样跳过了全部的奇数,好像不符合他的需求而且用List Comprehensions写虽然可以写成一行,但我觉得跑起来绝对比正常写成多行的方式慢!
楼主:
rexyeah
(ccccccc)
2018-06-27 10:44:00
对啊 因为我不知道他要判断什么条件 但他只印0,2,4就mod我以为list comprehensions比较快?
https://goo.gl/2SvgCz
作者:
handsomeLin
(DoGLin)
2018-06-27 17:01:00
list compression 绝对是比较快,stackoverflow上一堆实测
作者:
alex13587
(名名)
2018-06-30 19:55:00
range()有个step的参数 设2即可
继续阅读
Re: [问题] for loop 的 index 存取问题
jlhc
[问题] for loop 的 index 存取问题
henry8168
[问题] generator / filter疑问
tmdggyygan
[问题] 字典里面的内容如何读入函数中?
eco100
[问题] Bag of words 中文单字词问题
ctr1
[问题] 有关用pip 安装openpyxe的问题
pigers
[问题] 如何使用python写line bot机器人?
wang19980531
[问题] 完全程式新手学Python
FoxTz
[问题] 请问怎么引发python EOFerror (VSCODE)
bckkt
[问题] 第一次执行matplotlib无法显示图片
davey850325
Links
booklink
Contact Us: admin [ a t ] ucptt.com