tuple(str)返回每个字符的元组元素

时间:2019-07-16 01:54:56

标签: python tuples

我有一个采用日期时间格式或单一日期时间格式元组的函数,其签名如下所示

`datetime_formats: Union[Tuple[str, ...], str] = (ISO_8601_FORMAT, ...) -> None

__init__中,我有一个简单的

if isinstance(datetime_formats, str)
    datetime_formats = tuple(datetime_formats)

导致我发现在字符串上调用Tuple会将字符串拆分为一个元组,并在字符串中每个字符包含一个元素

>>> tuple('%Ztest')
('%', 'Z', 't', 'e', 's', 't')

我该怎么办

>>> tuple('%Ztest')
('%Ztest',)

1 个答案:

答案 0 :(得分:1)

要么使用方括号声明列表,要么

>>> tuple(['%Ztest'])
('%Ztest',)

或者使用逗号进行隐式元组声明

>>> '%Ztest',
('%Ztest',)

如果使用显式列表声明,则会遇到相同的拆分行为

>>> tuple(list('%Ztest'))
('%', 'Z', 't', 'e', 's', 't')