1

文字列または文字列のリストのいずれかになるクラス属性があります。リストが正常に変換されるようにタプルに変換したいのですが、単一の文字列は単一項目のタプルになります。

[str, str] --> (str, str)

str --> (str, )

残念ながらtuple('sting')('s', 't', 'r', 'i', 'n', 'g')私が期待するものではありません。タイプチェックなしでそれを行うことは可能ですか?

4

2 に答える 2

2

あなたはこれを行うことができます:

>>> s = 'str'
>>> print (s,)
('str',)

tuple()文字列を処理するときに呼び出す必要はありません。

両方の型を支援する 1 つのメソッドが必要な場合は、型チェックを避けることはできません。

def tuplising(typ):
    return tuple(typ) if isinstance(typ, list) else (typ,)
于 2013-09-01T08:05:13.030 に答える