Tôi biết cách chia danh sách thành các nhóm thậm chí, nhưng tôi đang gặp sự cố khi chia nhỏ danh sách thành các nhóm không đồng đều.Tách danh sách thành các nhóm không đồng đều?
Về cơ bản đây là những gì tôi có: một số danh sách, hãy gọi nó là mylist
, có chứa các phần tử x.
Tôi cũng có một tập tin, cho phép gọi nó là second_list, mà trông giống như sau:
{2, 4, 5, 9, etc.}
Bây giờ những gì tôi muốn làm là chia mylist
thành các nhóm không đồng đều bởi khoảng cách trong second_list. Vì vậy, tôi muốn nhóm đầu tiên của tôi là 2 phần tử đầu tiên của mylist
, nhóm thứ hai là 4 phần tử tiếp theo của mylist
, nhóm thứ ba là 5 phần tử tiếp theo của mylist
, nhóm thứ tư là 9 phần tử tiếp theo của `danh sách của tôi, v.v.
Có cách nào dễ dàng để thực hiện việc này không? Tôi đã thử làm một điều gì đó tương tự như nếu bạn muốn chia nhỏ thành các nhóm khác nhau:
for j in range(0, len(second_list)):
for i in range(0, len(mylist), second_list[j]):
chunk_mylist = mylist[i:i+second_list[j]]
Tuy nhiên, điều này không chia nhỏ như tôi muốn. Tôi muốn kết thúc với # danh sách con của tôi là len(second_list)
, và cũng chia một cách chính xác, và điều này mang lại nhiều hơn thế (và cũng chia tách không chính xác).
gì sẽ xảy ra nếu bạn chạy ra khỏi các phần tử trong danh sách? –