リストのリストがあり、リスト内の各リストを 2 つのリストに分割して、各リストの長さが最大 30 になるようにします。それ以外の場合は、30 に収まらない残りを破棄して、 t は約 30 に近い。
例: リスト 1 の長さは 64 です -> それを 30 と 30 の 2 つのリストに分割し、残りの 4 を破棄します。
またはリスト 2 の長さが 41 の場合、30 の新しいリストを生成し、11 を破棄します。
またはリスト 3 の長さが 58 の場合、30 と 28 の 2 つのリストを生成します。
私が見つけたリスト分割機能を使用しています: https://stackoverflow.com/a/1751478/2027556
今私のコードは次のようなものです:
new_list = []
for list_ in cluster:
if len(list_) < 31 and len(list_) > 24:
new_list.append(list_)
elif len(list_) >= 31:
chunks_list = chunks(list_, 30)
for item in chunks_list:
if len(item) > 25:
new_list.append(item)
ご覧のとおり、私は新しいリストを作成して古いリストを調べていますが、おそらくリスト内包表記を使用して、よりエレガントなpythonicソリューションがあると思いますか?