2023-04-03    Share on: Twitter | Facebook | HackerNews | Reddit

Python - How to Make Type Hint for the Tuple With Undetermined Number of Strings?

To make a type hint for a tuple with an undetermined number of strings in Python, you can use the Tuple and Union types from the typing module. Here's an example:

from typing import Tuple, Union

def process_strings(strings: Tuple[Union[str, ...], ...]) -> str:
    return ", ".join(strings)

strings1 = ("hello", "world")
strings2 = ("foo", "bar", "baz")

print(process_strings(strings1))  # Output: "hello, world"
print(process_strings(strings2))  # Output: "foo, bar, baz"

In the type hint above, Tuple is used to indicate that we are working with a tuple, and Union is used to indicate that each element of the tuple can be either a str or an ellipsis (...), which represents an infinite number of str elements. The second ... indicates that the tuple can contain an undetermined number of elements.

X::How to Use Elypsis in Type Hints to Indicate Arbitrary Number of Elements