私はPythonを初めて使い、数字のリストを持っています。例えば 5,10,32,35,64,76,23,53...
。配列内のグループ化された項目へのアクセス
と私はthis postのコードを使用してそれらを4つにグループ分けしました(5,10,32,35
、64,76,23,53
など)。
def group_iter(iterator, n=2, strict=False):
""" Transforms a sequence of values into a sequence of n-tuples.
e.g. [1, 2, 3, 4, ...] => [(1, 2), (3, 4), ...] (when n == 2)
If strict, then it will raise ValueError if there is a group of fewer
than n items at the end of the sequence. """
accumulator = []
for item in iterator:
accumulator.append(item)
if len(accumulator) == n: # tested as fast as separate counter
yield tuple(accumulator)
accumulator = [] # tested faster than accumulator[:] = []
# and tested as fast as re-using one list object
if strict and len(accumulator) != 0:
raise ValueError("Leftover values")
個々のアレイにアクセスして機能を実行するにはどうすればよいですか。たとえば、すべてのグループの最初の値の平均値を取得したいとします(例:5 and 64
)。
標準のクラス名である 'list'を再定義しています。お勧めしません。 –
そうですね、通常はやりませんが、Python構文の強調表示は例で役立ちます。 – inlinestyle