Problem: I want to join items of a list whenever such items are separated by three empty list items.
Example input:
input_list = ["hi.", "", "", "", "join me", "", "", "", "hey", "", "", "", "join me too"]
Output:
output_list = ["hi.join me", "heyjoinmetoo"]
I'm not sure where to start but here is some pseudocode that I thought might work?
- Iterate through the list and check if the list item is empty or not
- If it is empty, somehow keep track of how many empty list items have been iterated over.
- When that number is 3, merge the list item 3 places ago and the next item together.
- Keep going until there are never 3 empty items.
Does this logic make sense? And if so, how would I begin writing this loop?
CodePudding user response:
You can use this:
list = ["hi.", "", "", "", "join me", "", "", "", "hey", "", "", "", "join me too"]
ind =0
new_list = []
while(ind 4<len(list)):
if list[ind]!="" and list[ind 1:ind 4]==["","",""]:
new_list.append(list[ind] list[ind 4])
ind =4
ind =1
print(new_list)
Output:
['hi.join me', 'heyjoin me too']
CodePudding user response:
Just use string.join(list)
. Here is the code:
input_list = ["hi.", "", "", "", "join me", "", "", "", "hey", "", "", "", "join me too"]
output_list = []
ls = []
for i in input_list:
print(ls)
ls.append(i)
if i == "join me" or i == "join me too":
output_list.append("".join(ls))
ls.clear()
print(output_list)
If this answers your question you can tick this answer