Python Forum
Regarding question on coding
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Regarding question on coding
#1
Hi,
I am learning python. I just saw this coding which is generating 2 datasets.I have a question. Can someone explain the part in "dataset1"? I believe it is a list comprehension.
Mainly I am not understanding what "for child in children" does?

import numpy as np
np.random.seed(10)

children=range(10)      
months=np.arange(13)  
dataset1=[ (month, np.dot(month,24.7) + np.random.normal(loc=0,scale=20))                       
    for month in months              
      for child in children]          

month_data=[element[0] for element in dataset1]    # Gets 1st column from data
weight_data=[element[1] for element in dataset1] 
Thanks,
Reply
#2
Comprehensions can be unwound. Start at the end and work your way back to the assignment. Use the same process, but in reverse, to convert for loops to a comprehension.
for child in children:
    for month in months:
        dataset1.append(
            (month, np.dot(month, 24.7)+np.random.normal(loc=0, scale=20))
            )
Reply
#3
(May-26-2020, 01:04 AM)asmfloyd Wrote: I am not understanding what "for child in children" does?
children is range object. by iterating over children, child value is changing from 0 to 9. It looks the purpose is to have 10 values in the dataset for each month value
If you can't explain it to a six year old, you don't understand it yourself, Albert Einstein
How to Ask Questions The Smart Way: link and another link
Create MCV example
Debug small programs

Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Basic Coding Question: Exit Program Command? RockBlok 3 504 Nov-19-2023, 06:31 PM
Last Post: deanhystad
  Basic coding question with Python Than999 3 3,058 Jul-17-2019, 04:36 PM
Last Post: jefsummers
  Completely new to coding - quick question Oster22 1 2,673 Jun-19-2018, 08:42 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020