A community for students.
Here's the question you clicked on:
 0 viewing
 3 years ago
Help with Python making list functions:
def get_str_list(list_strs):
"""(list of lists of strs) > list of strs
Return a new list of strings, where each string is the concatenation of the strings from the corresponding element of list_strs"""
Can someone help me with making this function? I know what it's asking but I don't know where to start...
 3 years ago
Help with Python making list functions: def get_str_list(list_strs): """(list of lists of strs) > list of strs Return a new list of strings, where each string is the concatenation of the strings from the corresponding element of list_strs""" Can someone help me with making this function? I know what it's asking but I don't know where to start...

This Question is Closed

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1To clarify, list_strs itself is a list of strings? And you're iterating through that list, returning a new list that concatenates each list element from list_strs?

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1If I'm understanding correctly, here's one way to do it using nested loops. def get_str_list(list_strs): concat_list = [] for outer in list_strs: concat_str = '' for inner in outer: concat_str += inner concat_list.append(concat_str) return concat_list

he66666
 3 years ago
Best ResponseYou've already chosen the best response.1yes, list_strs is a new list of strings. so for example if the list was colors = [['black', 'white'] , ['pink', 'red'], the output would be colors = ['blackwhite', 'pinkred']

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1Okay, try that code I posted. Should do the trick.

he66666
 3 years ago
Best ResponseYou've already chosen the best response.1I tried testing it but it keeps saying "NameError: name 'concat_list' is not defined". I don't know why there's an error....

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1Hmm... and you copied and pasted it?

he66666
 3 years ago
Best ResponseYou've already chosen the best response.1yes, and I rearranged it and indented in the way it was posted here. There shouldn't be a reason an error would occur...

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1Can you post here what you have now?

he66666
 3 years ago
Best ResponseYou've already chosen the best response.1def get_str_list(list_strs): """(list of lists of strs) > list of strs Return a new list of strings, where each string is the concatenation of the strings from the corresponding element of list_strs""" concat_list = [] for outer in list_strs: concat_str = '' for inner in outer: concat_str += inner concat_list.append(concat_str) return concat_list

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1huh. I just copied and pasted that and it works. But did you add additional code to feed to that function? I've added an extra line at the end, here. Did you add something else that might be causing the error? def get_str_list(list_strs): """(list of lists of strs) > list of strs Return a new list of strings, where each string is the concatenation of the strings from the corresponding element of list_strs""" concat_list = [] for outer in list_strs: concat_str = '' for inner in outer: concat_str += inner concat_list.append(concat_str) return concat_list print get_str_list([['a','b','c'],['x','y','z']])

he66666
 3 years ago
Best ResponseYou've already chosen the best response.1Oh now it works! something must've gone wrong before. Thanks so much keketsu! but can you explain concat_str = '' and concat_str += inner? I don't really get it..

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1Sure thing. Oh, I used single quotes there which may have thrown you off. concat_str = "" just declares the variable concat_str and sets it to an empty string. concat_str += inner is the same as concat_str = concat_str + inner So you begin with an empty string, then add inner to it (the first item in the list), and continue to add list items until they're exhausted.

he66666
 3 years ago
Best ResponseYou've already chosen the best response.1Oh I see. thanks again :)

keketsu
 3 years ago
Best ResponseYou've already chosen the best response.1No problem. Glad to help!
Ask your own question
Sign UpFind more explanations on OpenStudy
Your question is ready. Sign up for free to start getting answers.
spraguer
(Moderator)
5
→ View Detailed Profile
is replying to Can someone tell me what button the professor is hitting...
23
 Teamwork 19 Teammate
 Problem Solving 19 Hero
 Engagement 19 Mad Hatter
 You have blocked this person.
 ✔ You're a fan Checking fan status...
Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.