Step 19 Scientific Computing

Hello, I want to make sure I am understanding this correctly. I solved step 19 but can someone help me confirm this is what its saying:

For every char that is within pascal_or_camel_cased_string were going to prepend ‘_’ and concatenate that with the char that will be lower cased?

In other words, list comprehension starts with the action we will be doing to everything within the list?

snake_cased_char_list = ['_' + char.lower() for char in pascal_or_camel_cased_string]

So by action I take it you mean the expression part in the syntax example below?
When you write a for loop does the stuff inside the code block come first or does the for declaration come first?

[expression for i in iterable]
result = []
for i in iterable:
   result.append(expression)

Yes.

And my guess is the stuff inside the code block write. It has to be determined so the for loop knows what to do?

No the stuff inside the code block does not come first , the for loop does not need to know whats in the code block to run. The purpose of the for loop is to iterate or loop how ever many times you program it to. The varible i declared in the for loop is passed as a local varible to the code block so it can be used there.
for example:

list = [1, 2, 3]
for i in list:
    print("this will run three times")

If the expression in the block comes first then how would the print statement in the code block print the value of the i variable that was declared in for i in list?

list = [1, 2, 3]
for i in  list:
    print(i)