The CommaSeparatedListOutputParser helps turn a string of items separated by commas into a list you can use in your program. It makes it easy to work with simple lists from text.
CommaSeparatedListOutputParser in LangChain
from langchain.output_parsers import CommaSeparatedListOutputParser parser = CommaSeparatedListOutputParser() # To parse a comma separated string: result_list = parser.parse("apple, banana, cherry")
The parser splits the string by commas and trims spaces around items.
It returns a Python list of strings.
parser.parse("")parser.parse("apple")parser.parse("apple, banana, cherry")parser.parse(" apple , banana ,cherry ")This program shows how to use the CommaSeparatedListOutputParser to convert a comma-separated string into a Python list. It prints the original string and the resulting list.
from langchain.output_parsers import CommaSeparatedListOutputParser # Create the parser parser = CommaSeparatedListOutputParser() # Example input string from a language model input_string = "red, green, blue, yellow" # Parse the string into a list parsed_list = parser.parse(input_string) # Print before and after print(f"Input string: '{input_string}'") print(f"Parsed list: {parsed_list}")
The parsing operation runs in linear time relative to the length of the string.
It uses extra space proportional to the number of items parsed.
A common mistake is to forget trimming spaces, but this parser handles that automatically.
Use this parser when your output is a simple comma-separated list. For more complex formats, consider other parsers.
The CommaSeparatedListOutputParser converts comma-separated text into a list.
It trims spaces and handles empty or single-item inputs gracefully.
It is useful for parsing simple lists from language model outputs or user input.
Practice
CommaSeparatedListOutputParser in langchain?Solution
Step 1: Understand the parser's function
The CommaSeparatedListOutputParser takes text with commas and splits it into a list.Step 2: Identify the correct behavior
It trims spaces around items and returns a clean list, not joining or parsing JSON.Final Answer:
To convert a comma-separated string into a list of trimmed items -> Option BQuick Check:
Parser converts CSV text to list = A [OK]
- Thinking it joins lists into strings
- Confusing it with JSON parsing
- Assuming it splits by spaces
CommaSeparatedListOutputParser instance in langchain?Solution
Step 1: Recall the instantiation pattern
In langchain, parsers are created by calling their constructor without arguments.Step 2: Check method usage
Methods like parse() or split() are called on instances, not used to create them.Final Answer:
parser = CommaSeparatedListOutputParser() -> Option AQuick Check:
Instantiate with constructor = D [OK]
- Calling parse() directly to create instance
- Using split() as constructor
- Trying to call to_list() on class
from langchain.output_parsers import CommaSeparatedListOutputParser parser = CommaSeparatedListOutputParser() text = 'apple, banana , cherry, date' result = parser.parse(text) print(result)
Solution
Step 1: Understand parse behavior
The parser splits the string by commas and trims spaces around each item.Step 2: Apply trimming to each item
Items like ' banana ' become 'banana' after trimming.Final Answer:
['apple', 'banana', 'cherry', 'date'] -> Option DQuick Check:
Split by comma + trim spaces = A [OK]
- Not trimming spaces around items
- Returning the whole string as one item
- Splitting by spaces instead of commas
CommaSeparatedListOutputParser:
from langchain.output_parsers import CommaSeparatedListOutputParser parser = CommaSeparatedListOutputParser text = 'one, two, three' result = parser.parse(text) print(result)
Solution
Step 1: Check parser instantiation
The code assigns the class itself to parser without calling it, missing parentheses.Step 2: Understand consequences
Without parentheses, parser is a class, so calling parse() on it causes an error.Final Answer:
Missing parentheses when creating parser instance -> Option CQuick Check:
Instantiate with () to avoid error = B [OK]
- Forgetting parentheses on class instantiation
- Thinking spaces in text cause errors
- Assuming parse() is missing
'apple, , banana, , cherry' from a language model output. How does CommaSeparatedListOutputParser handle the empty items when parsing this string?Solution
Step 1: Understand empty item handling
The parser splits the text by commas and trims whitespace from each item, including resulting empty strings.Step 2: Apply to given string
Splits 'apple, , banana, , cherry' into parts that trim to ['apple', '', 'banana', '', 'cherry'].Final Answer:
It includes empty strings as list items -> Option AQuick Check:
Includes empty strings after trim = A [OK]
- Thinking it removes empty items
- Believing it raises errors on empty items
- Assuming it joins items into one string
Ready to prove it?
Pass the test and this pattern moves unknown
