Stuck on python thread shed project

When you ask a question, don’t forget to include a link to the exercise or project you’re dealing with!

If you want to have the best chances of getting a useful answer quickly, make sure you follow our guidelines about how to ask a good question. That way you’ll be helping everyone – helping people to answer your question and helping others who are stuck to find the question and answer! :slight_smile:

Hi everyone,
I’ve been stuck on step 8 of the thread shed project, https://www.codecademy.com/paths/computer-science/tracks/cspath-python-objects/modules/cspath-python-strings/projects/thread-shed

The problem I’m having is I’m getting multiple data sets in my output and I don’t know why. I went through the help video line by line with my code and everything is the same but I still get multiples back. Anyone have any ideas what I’m doing wrong?

Here is my code:

daily_sales
daily_sales = \
"""Edith Mcbride   ;,;$1.21   ;,;   white ;,; 
09/15/17   ,Herbert Tran   ;,;   $7.29;,; 
white&blue;,;   09/15/17 ,Paul Clarke ;,;$12.52 
;,;   white&blue ;,; 09/15/17 ,Lucille Caldwell   
;,;   $5.13   ;,; white   ;,; 09/15/17,
Eduardo George   ;,;$20.39;,; white&yellow 
;,;09/15/17   ,   Danny Mclaughlin;,;$30.82;,;   
purple ;,;09/15/17 ,Stacy Vargas;,; $1.85   ;,; 
purple&yellow ;,;09/15/17,   Shaun Brock;,; 
$17.98;,;purple&yellow ;,; 09/15/17 , 
Erick Harper ;,;$17.41;,; blue ;,; 09/15/17, 
Michelle Howell ;,;$28.59;,; blue;,;   09/15/17   , 
Carroll Boyd;,; $14.51;,;   purple&blue   ;,;   
09/15/17   , Teresa Carter   ;,; $19.64 ;,; 
white;,;09/15/17   ,   Jacob Kennedy ;,; $11.40   
;,; white&red   ;,; 09/15/17, Craig Chambers;,; 
$8.79 ;,; white&blue&red   ;,;09/15/17   , Peggy Bell;,; $8.65 ;,;blue   ;,; 09/15/17,   Kenneth Cunningham ;,;   $10.53;,;   green&blue   ;,; 
09/15/17   ,   Marvin Morgan;,;   $16.49;,; 
green&blue&red   ;,;   09/15/17 ,Marjorie Russell 
;,; $6.55 ;,;   green&blue&red;,;   09/15/17 ,
Israel Cummings;,;   $11.86   ;,;black;,;  
09/15/17,   June Doyle   ;,;   $22.29 ;,;  
black&yellow ;,;09/15/17 , Jaime Buchanan   ;,;   
$8.35;,;   white&black&yellow   ;,;   09/15/17,   
Rhonda Farmer;,;$2.91 ;,;   white&black&yellow   
;,;09/15/17, Darren Mckenzie ;,;$22.94;,;green 
;,;09/15/17,Rufus Malone;,;$4.70   ;,; green&yellow 
;,; 09/15/17   ,Hubert Miles;,;   $3.59   
;,;green&yellow&blue;,;   09/15/17   , Joseph Bridges  ;,;$5.66   ;,; green&yellow&purple&blue 
;,;   09/15/17 , Sergio Murphy   ;,;$17.51   ;,;   
black   ;,;   09/15/17 , Audrey Ferguson ;,; 
$5.54;,;black&blue   ;,;09/15/17 ,Edna Williams ;,; 
$17.13;,; black&blue;,;   09/15/17,   Randy Fleming;,;   $21.13 ;,;black ;,;09/15/17 ,Elisa Hart;,; $0.35   ;,; black&purple;,;   09/15/17   ,
Ernesto Hunt ;,; $13.91   ;,;   black&purple ;,;   
09/15/17,   Shannon Chavez   ;,;$19.26   ;,; 
yellow;,; 09/15/17   , Sammy Cain;,; $5.45;,;   
yellow&red ;,;09/15/17 ,   Steven Reeves ;,;$5.50   
;,;   yellow;,;   09/15/17, Ruben Jones   ;,; 
$14.56 ;,;   yellow&blue;,;09/15/17 , Essie Hansen;,;   $7.33   ;,;   yellow&blue&red
;,; 09/15/17   ,   Rene Hardy   ;,; $20.22   ;,; 
black ;,;   09/15/17 ,   Lucy Snyder   ;,; $8.67   
;,;black&red  ;,; 09/15/17 ,Dallas Obrien ;,;   
$8.31;,;   black&red ;,;   09/15/17,   Stacey Payne 
;,;   $15.70   ;,;   white&black&red ;,;09/15/17   
,   Tanya Cox   ;,;   $6.74   ;,;yellow   ;,; 
09/15/17 , Melody Moran ;,;   $30.84   
;,;yellow&black;,;   09/15/17 , Louise Becker   ;,; 
$12.31 ;,; green&yellow&black;,;   09/15/17 ,
Ryan Webster;,;$2.94 ;,; yellow ;,; 09/15/17 
,Justin Blake ;,; $22.46   ;,;white&yellow ;,;   
09/15/17,   Beverly Baldwin ;,;   $6.60;,;   
white&yellow&black ;,;09/15/17   ,   Dale Brady   
;,;   $6.27 ;,; yellow   ;,;09/15/17 ,Guadalupe Potter ;,;$21.12   ;,; yellow;,; 09/15/17   , 
Desiree Butler ;,;$2.10   ;,;white;,; 09/15/17  
,Sonja Barnett ;,; $14.22 ;,;white&black;,;   
09/15/17, Angelica Garza;,;$11.60;,;white&black   
;,;   09/15/17   ,   Jamie Welch   ;,; $25.27   ;,; 
white&black&red ;,;09/15/17   ,   Rex Hudson   
;,;$8.26;,;   purple;,; 09/15/17 ,   Nadine Gibbs 
;,;   $30.80 ;,;   purple&yellow   ;,; 09/15/17   , 
Hannah Pratt;,;   $22.61   ;,;   purple&yellow   
;,;09/15/17,Gayle Richards;,;$22.19 ;,; 
green&purple&yellow ;,;09/15/17   ,Stanley Holland 
;,; $7.47   ;,; red ;,; 09/15/17 , Anna Dean;,;$5.49 ;,; yellow&red ;,;   09/15/17   ,
Terrance Saunders ;,;   $23.70  ;,;green&yellow&red 
;,; 09/15/17 ,   Brandi Zimmerman ;,; $26.66 ;,; 
red   ;,;09/15/17 ,Guadalupe Freeman ;,; $25.95;,; 
green&red ;,;   09/15/17   ,Irving Patterson 
;,;$19.55 ;,; green&white&red ;,;   09/15/17 ,Karl Ross;,;   $15.68;,;   white ;,;   09/15/17 , Brandy Cortez ;,;$23.57;,;   white&red   ;,;09/15/17, 
Mamie Riley   ;,;$29.32;,; purple;,;09/15/17 ,Mike Thornton   ;,; $26.44 ;,;   purple   ;,; 09/15/17, 
Jamie Vaughn   ;,; $17.24;,;green ;,; 09/15/17   , 
Noah Day ;,;   $8.49   ;,;green   ;,;09/15/17   
,Josephine Keller ;,;$13.10 ;,;green;,;   09/15/17 ,   Tracey Wolfe;,;$20.39 ;,; red   ;,; 09/15/17 ,
Ignacio Parks;,;$14.70   ;,; white&red ;,;09/15/17 
, Beatrice Newman ;,;$22.45   ;,;white&purple&red 
;,;   09/15/17, Andre Norris   ;,;   $28.46   ;,;   
red;,;   09/15/17 ,   Albert Lewis ;,; $23.89;,;   
black&red;,; 09/15/17,   Javier Bailey   ;,;   
$24.49   ;,; black&red ;,; 09/15/17   , Everett Lyons ;,;$1.81;,;   black&red ;,; 09/15/17 ,   
Abraham Maxwell;,; $6.81   ;,;green;,;   09/15/17   
,   Traci Craig ;,;$0.65;,; green&yellow;,; 
09/15/17 , Jeffrey Jenkins   ;,;$26.45;,; 
green&yellow&blue   ;,;   09/15/17,   Merle Wilson 
;,;   $7.69 ;,; purple;,; 09/15/17,Janis Franklin   
;,;$8.74   ;,; purple&black   ;,;09/15/17 ,  
Leonard Guerrero ;,;   $1.86   ;,;yellow  
;,;09/15/17,Lana Sanchez;,;$14.75   ;,; yellow;,;   
09/15/17   ,Donna Ball ;,; $28.10  ;,; 
yellow&blue;,;   09/15/17   , Terrell Barber   ;,; 
$9.91   ;,; green ;,;09/15/17   ,Jody Flores;,; 
$16.34 ;,; green ;,;   09/15/17,   Daryl Herrera 
;,;$27.57;,; white;,;   09/15/17   , Miguel Mcguire;,;$5.25;,; white&blue   ;,;   09/15/17 ,   
Rogelio Gonzalez;,; $9.51;,;   white&black&blue   
;,;   09/15/17   ,   Lora Hammond ;,;$20.56 ;,; 
green;,;   09/15/17,Owen Ward;,; $21.64   ;,;   
green&yellow;,;09/15/17,Malcolm Morales ;,;   
$24.99   ;,;   green&yellow&black;,; 09/15/17 ,   
Eric Mcdaniel ;,;$29.70;,; green ;,; 09/15/17 
,Madeline Estrada;,;   $15.52;,;green;,;   09/15/17 
, Leticia Manning;,;$15.70 ;,; green&purple;,; 
09/15/17 ,   Mario Wallace ;,; $12.36 ;,;green ;,; 
09/15/17,Lewis Glover;,;   $13.66   ;,;   
green&white;,;09/15/17,   Gail Phelps   ;,;$30.52   
;,; green&white&blue   ;,; 09/15/17 , Myrtle Morris 
;,;   $22.66   ;,; green&white&blue;,;09/15/17"""
#here is my code
daily_sales_replaced = daily_sales.replace(";,;", "+")
daily_transactions = daily_sales_replaced.split(",")
#print(daily_transactions)

daily_transactions_split = []
for transaction in daily_transactions:
  daily_transactions_split.append(transaction.split("+"))
#print(daily_transactions_split)

transactions_clean = []
for transaction in daily_transactions_split:
  transaction_clean = []
  for data_point in transaction:
    transaction_clean.append(data_point.strip(" "))
    transactions_clean.append(transaction_clean)    
print(transactions_clean)

What output do you get when this code is run…

for row in transactions_clean:
  print (row)

?

You should see 100 lines like the following:

['Edith Mcbride', '$1.21', 'white', '09/15/17']

I’m still seeing the 4 duplicates with that

['Edith Mcbride', '$1.21', 'white', '\n09/15/17']
['Edith Mcbride', '$1.21', 'white', '\n09/15/17']
['Edith Mcbride', '$1.21', 'white', '\n09/15/17']
['Edith Mcbride', '$1.21', 'white', '\n09/15/17']

How many rows are there in the transactions_clean list?

print (len(transactions_clean))

We should be able to correct the date with this chained to the first line of code, daily_sales_replaced = daily_sales.replace(";,;", "+")

    .replace('\n', '')

It returns 400 rows. replacing the newline with a space is part of the next step, I’ve added that in earlier but I still get 4 of the same for each.

The reason…

The last line is inside the inner loop. Back it out two spaces.

1 Like

That’s strange, I tried that hours ago and got an indentation error. Then I couldn’t get that indentation error to go away, had to undo until it went back. I see unwarranted indentation errors on this application often. Anyways, it worked this time! Thank you for your help I’ve been looking at this too long

1 Like

You’re welcome. Did you add that patch to the first line? (Ignore that I used ; instead of +.)

daily_sales_replaced = daily_sales.replace(';,;',';').replace('\n', '')

Give us a look at what the printout looks like afterward.

Yep I added it in the inner for loop

transactions_clean = []
for transaction in daily_transactions_split:
  transaction_clean = []
  for data_point in transaction:
    transaction_clean.append(data_point.replace("\n", " ").strip(" "))
  transactions_clean.append(transaction_clean)

Here is the cleaned up results

[['Edith Mcbride', '$1.21', 'white', '09/15/17'], ['Herbert Tran', '$7.29', 'white&blue', '09/15/17'], ['Paul Clarke', '$12.52', 'white&blue', '09/15/17'], ['Lucille Caldwell', '$5.13', 'white', '09/15/17'], ['Eduardo George', '$20.39', 'white&yellow', '09/15/17'], ['Danny Mclaughlin', '$30.82', 'purple', '09/15/17'], ['Stacy Vargas', '$1.85', 'purple&yellow', '09/15/17'], ['Shaun Brock', '$17.98', 'purple&yellow', '09/15/17'], ['Erick Harper', '$17.41', 'blue', '09/15/17'], ['Michelle Howell', '$28.59', 'blue', '09/15/17'], ['Carroll Boyd', '$14.51', 'purple&blue', '09/15/17'], ['Teresa Carter', '$19.64', 'white', '09/15/17'], ['Jacob Kennedy', '$11.40', 'white&red', '09/15/17'], ['Craig Chambers', '$8.79', 'white&blue&red', '09/15/17'], ['Peggy Bell', '$8.65', 'blue', '09/15/17'], ['Kenneth Cunningham', '$10.53', 'green&blue', '09/15/17'], ['Marvin Morgan', '$16.49', 'green&blue&red', '09/15/17'], ['Marjorie Russell', '$6.55', 'green&blue&red', '09/15/17'], ['Israel Cummings', '$11.86', 'black', '09/15/17'], ['June Doyle', '$22.29', 'black&yellow', '09/15/17'], ['Jaime Buchanan', '$8.35', 'white&black&yellow', '09/15/17'], ['Rhonda Farmer', '$2.91', 'white&black&yellow', '09/15/17'], ['Darren Mckenzie', '$22.94', 'green', '09/15/17'], ['Rufus Malone', '$4.70', 'green&yellow', '09/15/17'], ['Hubert Miles', '$3.59', 'green&yellow&blue', '09/15/17'], ['Joseph Bridges', '$5.66', 'green&yellow&purple&blue', '09/15/17'], ['Sergio Murphy', '$17.51', 'black', '09/15/17'], ['Audrey Ferguson', '$5.54', 'black&blue', '09/15/17'], ['Edna Williams', '$17.13', 'black&blue', '09/15/17'], ['Randy Fleming', '$21.13', 'black', '09/15/17'], ['Elisa Hart', '$0.35', 'black&purple', '09/15/17'], ['Ernesto Hunt', '$13.91', 'black&purple', '09/15/17'], ['Shannon Chavez', '$19.26', 'yellow', '09/15/17'], ['Sammy Cain', '$5.45', 'yellow&red', '09/15/17'], ['Steven Reeves', '$5.50', 'yellow', '09/15/17'], ['Ruben Jones', '$14.56', 'yellow&blue', '09/15/17'], ['Essie Hansen', '$7.33', 'yellow&blue&red', '09/15/17'], ['Rene Hardy', '$20.22', 'black', '09/15/17'], ['Lucy Snyder', '$8.67', 'black&red', '09/15/17'], ['Dallas Obrien', '$8.31', 'black&red', '09/15/17'], ['Stacey Payne', '$15.70', 'white&black&red', '09/15/17'], ['Tanya Cox', '$6.74', 'yellow', '09/15/17'], ['Melody Moran', '$30.84', 'yellow&black', '09/15/17'], ['Louise Becker', '$12.31', 'green&yellow&black', '09/15/17'], ['Ryan Webster', '$2.94', 'yellow', '09/15/17'], ['Justin Blake', '$22.46', 'white&yellow', '09/15/17'], ['Beverly Baldwin', '$6.60', 'white&yellow&black', '09/15/17'], ['Dale Brady', '$6.27', 'yellow', '09/15/17'], ['Guadalupe Potter', '$21.12', 'yellow', '09/15/17'], ['Desiree Butler', '$2.10', 'white', '09/15/17'], ['Sonja Barnett', '$14.22', 'white&black', '09/15/17'], ['Angelica Garza', '$11.60', 'white&black', '09/15/17'], ['Jamie Welch', '$25.27', 'white&black&red', '09/15/17'], ['Rex Hudson', '$8.26', 'purple', '09/15/17'], ['Nadine Gibbs', '$30.80', 'purple&yellow', '09/15/17'], ['Hannah Pratt', '$22.61', 'purple&yellow', '09/15/17'], ['Gayle Richards', '$22.19', 'green&purple&yellow', '09/15/17'], ['Stanley Holland', '$7.47', 'red', '09/15/17'], ['Anna Dean', '$5.49', 'yellow&red', '09/15/17'], ['Terrance Saunders', '$23.70', 'green&yellow&red', '09/15/17'], ['Brandi Zimmerman', '$26.66', 'red', '09/15/17'], ['Guadalupe Freeman', '$25.95', 'green&red', '09/15/17'], ['Irving Patterson', '$19.55', 'green&white&red', '09/15/17'], ['Karl Ross', '$15.68', 'white', '09/15/17'], ['Brandy Cortez', '$23.57', 'white&red', '09/15/17'], ['Mamie Riley', '$29.32', 'purple', '09/15/17'], ['Mike Thornton', '$26.44', 'purple', '09/15/17'], ['Jamie Vaughn', '$17.24', 'green', '09/15/17'], ['Noah Day', '$8.49', 'green', '09/15/17'], ['Josephine Keller', '$13.10', 'green', '09/15/17'], ['Tracey Wolfe', '$20.39', 'red', '09/15/17'], ['Ignacio Parks', '$14.70', 'white&red', '09/15/17'], ['Beatrice Newman', '$22.45', 'white&purple&red', '09/15/17'], ['Andre Norris', '$28.46', 'red', '09/15/17'], ['Albert Lewis', '$23.89', 'black&red', '09/15/17'], ['Javier Bailey', '$24.49', 'black&red', '09/15/17'], ['Everett Lyons', '$1.81', 'black&red', '09/15/17'], ['Abraham Maxwell', '$6.81', 'green', '09/15/17'], ['Traci Craig', '$0.65', 'green&yellow', '09/15/17'], ['Jeffrey Jenkins', '$26.45', 'green&yellow&blue', '09/15/17'], ['Merle Wilson', '$7.69', 'purple', '09/15/17'], ['Janis Franklin', '$8.74', 'purple&black', '09/15/17'], ['Leonard Guerrero', '$1.86', 'yellow', '09/15/17'], ['Lana Sanchez', '$14.75', 'yellow', '09/15/17'], ['Donna Ball', '$28.10', 'yellow&blue', '09/15/17'], ['Terrell Barber', '$9.91', 'green', '09/15/17'], ['Jody Flores', '$16.34', 'green', '09/15/17'], ['Daryl Herrera', '$27.57', 'white', '09/15/17'], ['Miguel Mcguire', '$5.25', 'white&blue', '09/15/17'], ['Rogelio Gonzalez', '$9.51', 'white&black&blue', '09/15/17'], ['Lora Hammond', '$20.56', 'green', '09/15/17'], ['Owen Ward', '$21.64', 'green&yellow', '09/15/17'], ['Malcolm Morales', '$24.99', 'green&yellow&black', '09/15/17'], ['Eric Mcdaniel', '$29.70', 'green', '09/15/17'], ['Madeline Estrada', '$15.52', 'green', '09/15/17'], ['Leticia Manning', '$15.70', 'green&purple', '09/15/17'], ['Mario Wallace', '$12.36', 'green', '09/15/17'], ['Lewis Glover', '$13.66', 'green&white', '09/15/17'], ['Gail Phelps', '$30.52', 'green&white&blue', '09/15/17'], ['Myrtle Morris', '$22.66', 'green&white&blue', '09/15/17']]
1 Like

Looks good. You are cooking with gas, now!

I would still put the patch on the first line, and not this deep down the code, especially where it repeats 400 times. That’s a lot more than 1.

1 Like

Thank you! I’ve been stuck on this for hours. The video example had a very narrow column for the code so it was difficult to see the indentation.

1 Like

why do you have to add two empty transaction_clean lists? one inside and one outside the for loop?

The list before the loop is transactions_clean, whereas the list inside the loop is transaction_clean. They are not the same list.
Note the extra 's' in one of the variable names.

By the time you arrive at this step, daily_transactions_split should be a list of lists,

[ 
   ['Edith Mcbride   ', '$1.21   ', '   white ', ' \n09/15/17   '], 
   ['Herbert Tran   ', '   $7.29', ' \nwhite&blue', '   09/15/17 '],
    ...,
   [' Myrtle Morris \n', '   $22.66   ', ' green&white&blue', '09/15/17']
]

In somirb’s post, the loop variable transaction of the first loop is assigned one of the sub-lists in each iteration. The second loop iterates over all the strings in each sub-list and a cleaned up version of the string is appended to the transaction_clean list. After the second loop finishes, this list is appended to transactions_clean. Then the next iteration of the first loop begins with an empty transaction_clean list.

# Initially
transactions_clean ---> []

# 1st iteration of FIRST loop,
transaction_clean --->  []
# After all iterations of SECOND loop,
transaction_clean ---> ['Edith Mcbride', '$1.21', 'white', '09/15/17']
# this is appended to the master list
transactions_clean ---> [['Edith Mcbride', '$1.21', 'white', '09/15/17']]

# 2nd iteration of FIRST loop,
transaction_clean --->  []
# After all iterations of SECOND loop,
transaction_clean ---> ['Herbert Tran', '$7.29', 'white&blue', '09/15/17']
# this is appended to the master list
transactions_clean ---> [['Edith Mcbride', '$1.21', 'white', '09/15/17'],
                         ['Herbert Tran', '$7.29', 'white&blue', '09/15/17']]
1 Like

Yep! I was re-writing the code in a notebook (helps me remember for long term) and noticed the mistake! thank you for clearing it up and that in-depth explanation of each stage of iteration, i learn best with examples like that, so i appreciate it, thank you.

1 Like

The extra 's' in one of the variable names is not a typo or a mistake. The two lists are meant to be different. The master list is meant to be named transactions_clean. The list inside the loop is meant to be named transaction_clean. If you prefer, you could use more distinct names for the variables to better differentiate the two variables and avoid any ambiguity.

If you used the same names for both lists, you won’t get the desired result.