[問題] 幫忙解釋一下這幾行程式

作者: Dong0129 (阿東跟上面講的情況一樣b)   2015-04-20 22:24:46
各位版友好,
之前在網路上找到一段程式碼,
但是我看不太懂它作業的過程,
能否請教版友是否能夠解釋呢?
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的過程裡看到時常用[:]這種用法描述字串的變動,
請問能夠稍微講解一下嗎?或是有關鍵字能夠找到相關的教學呢?
作者: liataian (T-PANY FOREVER)   2015-04-20 22:58:00
"12345"[:] => "12345", "12345"[1:5] => "2345""12345"[1:5:2] => "24"簡單說就是: [從這個索引:到這個索引減1:一次跳幾個]
作者: bigpigbigpig (To littlepig with love)   2015-04-20 23:15:00
畫個圖會更容易瞭解,這也是 zip 最漂亮的用法之一[start:end:step]=> python slicing operator

Links booklink

Contact Us: admin [ a t ] ucptt.com