我正在使用for循环来读取文件,但我只想读取特定的行,比如第26行和第30行.是否有任何内置功能来实现这一目标?
谢谢
在Python shell中,如果我输入列表解析,例如:
>>> [x for x in string.letters if x in [y for y in "BigMan on campus"]]
Run Code Online (Sandbox Code Playgroud)
我得到了一个很好的印刷结果:
['a', 'c', 'g', 'i', 'm', 'n', 'o', 'p', 's', 'u', 'B', 'M']
Run Code Online (Sandbox Code Playgroud)
字典理解相同:
>>> {x:x*2 for x in range(1,10)}
{1: 2, 2: 4, 3: 6, 4: 8, 5: 10, 6: 12, 7: 14, 8: 16, 9: 18}
Run Code Online (Sandbox Code Playgroud)
如果我输入一个生成器表达式,我得不到这么友好的响应:
>>> (x for x in string.letters if x in (y for y in "BigMan on campus"))
<generator object <genexpr> at 0x1004a0be0>
Run Code Online (Sandbox Code Playgroud)
我知道我可以这样做:
>>> …Run Code Online (Sandbox Code Playgroud)