最後の要素がなくても、すべての行を一緒に結合できます。zip iterator最後の要素がない行を結合する方法
zip()
は、このストリームの最後の要素が欠けているようです。例えば
:seq 0 70 | xargs -L 50 | sed 's/ /,/g'
入力:
seq 0 70 | python -c $'import sys\nfor x in zip(*[iter(sys.stdin)]*50): print(",".join(x).replace("\\n",""))\n'
間違っ出力:ラインと最後のジップあたり
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
予想される50の項目は残りの部分を含んでいます
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49
50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69
関連:多分
最短の反復で 'zip'が停止します。 'izip_longest'を使用し、より短いiterablesのために' None'が埋め込まれているか( 'fillvalue'を渡して' None'を上書きする)、オプションがあります。しかし、よりよい選択肢は、より良いグルーパーレシピを使用することです。いくつかの変更を加えれば、これは助けになるかもしれません:http://stackoverflow.com/a/40063403/3125566 –
@MosesKoledoyeそれはどのようにUNIXパイプ間で動作し、unixライナーとして機能しますか? – jmunsch