Created
August 11, 2014 10:54
-
-
Save kwatch/3db7d2f09d274e5b78e8 to your computer and use it in GitHub Desktop.
問題1: シーケンスを受け取り、N個ずつの配列にして返すような関数 each_slice(seq, n, default=None) を定義してください。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ | |
| 問題1: シーケンスを受け取り、N個ずつの配列にして返すような関数 each_slice(seq, n, default=None) を定義してください。 | |
| 例: | |
| seq = [10, 20, 30, 40, 50, 60, 70] | |
| for item in each_slice(seq, 3): | |
| print(item) | |
| ## 結果: | |
| [10, 20, 30] | |
| [40, 50, 60] | |
| [70, None, None] | |
| """ | |
| def each_slice(iterable, n, default=None): | |
| """yields each n items in iterable.""" | |
| #; [!6ra4k] yield each n items in iterable. | |
| slice = [] | |
| for x in iterable: | |
| slice.append(x) | |
| if len(slice) == n: | |
| yield slice | |
| slice = [] | |
| #; [!dyv9o] when number of items is not multiply of n... | |
| if slice: | |
| #; [!bcbca] appends default value. | |
| for _ in range(n - len(slice)): | |
| slice.append(default) | |
| #; [!hfbjf] yields rest of items. | |
| yield slice |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment