import sys def split_and_flat(input_string): if "\n" in input_string: _without_newlines = input_string.split("\n") _without_empty = filter(lambda x: x != "", _without_newlines) input_string = ",".join(_without_empty) # Split the input string on commas comma_split = input_string.split(",") # Initialize an empty flat list flat_list = [] # Iterate through the comma-separated values for item in comma_split: # Split each item on dashes dash_split = item.split("-") # Extend the flat list with the dash-separated values flat_list.extend([value.strip().replace("\n", "") for value in dash_split]) map(lambda x: x.strip(), flat_list) return ",".join(flat_list) if __name__ == "__main__": # Check if a single command-line argument is provided if len(sys.argv) != 2: print("Usage: python split_and_flat.py ") sys.exit(1) # Get the input string from the command-line argument input_string = sys.argv[1] # Call the split_and_flat function and print the result result = split_and_flat(input_string) print(result)