How to split a list into chucks of different sizes specified by another list? [duplicate]
2024/11/17 4:29:51
I have an array I am trying to split into chunks of different sizes.
In the example below, loopN is are the chuck sizes. I have tried all sorts of ways to iterate through loopN, however can't figure it out. list is the array I am trying to split into chunks.
loopN = [2,3,1]
list = [1,2,3,4,5,6]for i in range(0, len(list), loopN):chunks.append(list[i:i+loopN])
The output I was looking for was [[1,2],[3,4,5],[6]].
How do I split the array into chucks of different sizes?
Answer
You can use itertools.islice to take slices of l according to the elements in loopN:
from itertools import isliceloopN = [2,3,1]
l = iter([1,2,3,4,5,6])[list(islice(l, i)) for i in loopN]
# [[1, 2], [3, 4, 5], [6]]
If you want to stick to list methods, following your approach, there are a few things that are wrong already spotted by @barmar. Note that the slice i:i+loopN doesn't really make sense. You cannot add an integer and a list.
You need to iterate over the values that will be used to slice l, so over loopN. Also you don't need ranges, just directly iterate over loopN, which is an iterable too, and keep track over the previous values you've iterated over, adding them on each iteration to move the slices forward.
My function needs to take in a sentence and return the sum of the numbers inside. Any advice?def sumOfDigits(sentence):sumof=0for x in sentence:if sentence.isdigit(x)== True:sumof+=int(x)return sumof
I have sample input dataframe as below, but the value (clm starting with m) columns can be n number.
customer_id|month_id|m1 |m2 |m3 .......m_n
1001 | 01 |10 |20
1002 | 01 |20…
Im downloading books from the website, and almost my code runs smoothly, but when I try to open the pdf Book on my PC. An error generated by Adobe Acrobat Reader that this is not supported file type.He…
I have a discord bot that sends images to users when they use the !img command, I dont want people to request an image and then have it sit there until someone deletes it. Is there any way I can make i…
load = pd.DataFrame({A:list(abcdef),B:[4,5,4,5,5,4],C:[7,8,9,4,2,0],D:[1,3,5,4,2,0],E:[5,3,6,9,2,4],F:list(aaabbb)})How to encode and decode column F.Expected Output:Should have two more columns with e…
This question already has answers here:Why do I get a "ModuleNotFoundError" in VS Code despite the fact that I already installed the module?(23 answers)Closed 3 months ago.I have installed p…
Closed. This question needs details or clarity. It is not currently accepting answers.Want to improve this question? Add details and clarify the problem by editing this post.Closed 4 years ago.Improve…
Im trying to install gdal in python3.8.8 (Windows 10) and im getting below error
I have install Visual Studio Build Tools 2019 and reboot my PC
Downgrade my Python from 3.9.5 to 3.8.8
C:\Program Files…
First, I use echo hello, >> a.txt to create a new file with one line looks like that. And I know \n is at the last of the line.Then I get some data from python, for example "world", I w…