作者Dong0129 (阿东)
看板Python
标题[问题] 帮忙解释一下这几行程式
时间Mon Apr 20 22:24:46 2015
各位版友好,
之前在网路上找到一段程式码,
但是我看不太懂它作业的过程,
能否请教版友是否能够解释呢?
file1:
1
2
3
file2:
1>2
2>3
...
这支程式是能够将file1里的资料重新整理成file2的资料,
def joinlns(lns,spliter=","):
return spliter.join([ln.strip() for ln in lns])
lines=open(file1).readlines()
mergedlines=[joinlns(x,spliter)=">"] for x in zip(lines[::1],lines[1::1])
with open(file2,'a') as handle:
handle.write('\n'.join(mergedlines)+'\n')
程式码如上...
另外想额外请教,在读python的过程里看到时常用[:]这种用法描述字串的变动,
请问能够稍微讲解一下吗?或是有关键字能够找到相关的教学呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.137.113.177
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1429539890.A.7D8.html
※ 编辑: Dong0129 (220.137.113.177), 04/20/2015 22:25:13
1F:推 liataian: "12345"[:] => "12345", "12345"[1:5] => "2345" 04/20 22:58
2F:→ liataian: "12345"[1:5:2] => "24" 04/20 22:59
3F:→ liataian: 简单说就是: [从这个索引:到这个索引减1:一次跳几个] 04/20 23:01
4F:推 bigpigbigpig: 画个图会更容易了解,这也是 zip 最漂亮的用法之一 04/20 23:15
5F:推 bigpigbigpig: [start:end:step]=> python slicing operator 04/20 23:26