在Python 2.6中从迭代器获取最后一项的最佳方法是什么?例如,说
my_iter = iter(range(5))
Run Code Online (Sandbox Code Playgroud)
什么是最短的代码/最干净的方式4来自my_iter?
我可以做到这一点,但它看起来效率不高:
[x for x in my_iter][-1]
Run Code Online (Sandbox Code Playgroud) 以下代码是不好的做法?
for i in some_values:
do_whatever(i)
do_more_things(i)
Run Code Online (Sandbox Code Playgroud)
不知何故,我觉得变量i应该保留在for循环内的块的范围内.但是python 2.7允许我在循环之后重用它.
python是否正式支持该功能,或者我是否滥用该语言?