creating a list from lists of lists - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: creating a list from lists of lists (/thread-21100.html) |
creating a list from lists of lists - ridgerunnersjw - Sep-13-2019 Can someone tell me how to sum values across lists of lists....For example I have a list of a list that is 2x4....It in turn is contained in a list that is 5 long so effectively a 2x4x5...I would like to grab the x element in each list from the whole 2x4x5...looking for the solution OTHER than numpy....Thank you...Here is the code for matrix list Thank you! #!/usr/bin/env python3 2 import random 3 def main(): 4 d = [] 5 for j in range(5): 6 d.append([[random.randint(0,4) for i in range(4)] for k in range(2)]) 7 return(d) RE: creating a list from lists of lists - snippsat - Sep-13-2019 Try not copy in line number in code. So this is the start. >>> lst = main() >>> lst [[[2, 1, 4, 3], [3, 4, 2, 1]], [[1, 0, 0, 3], [0, 3, 1, 1]], [[0, 1, 4, 2], [4, 0, 1, 3]], [[1, 0, 0, 4], [3, 3, 0, 0]], [[3, 1, 3, 0], [3, 4, 4, 2]]]So to use eg sum() on the list need first to flatten the list out.>>> for i in lst: ... lst = [item for n in i for item in n] ... print(lst) ... [2, 1, 3, 4, 1, 4, 3, 4] [4, 0, 1, 3, 0, 3, 0, 0] [0, 0, 0, 1, 2, 1, 4, 0] [2, 1, 0, 1, 4, 1, 4, 3] [4, 0, 3, 4, 1, 4, 2, 2]Now will sum() work. >>> lst = main() >>> for i in lst: ... lst = [item for n in i for item in n] ... print(sum(lst)) ... 17 18 13 12 15Then i think you can do the last step if want the total sum. |