タプルを引数としてとり、要素数が2つであれば要素の順を交換、そうでないならそのままの状態でタプルを返す関数、swap_tuple()を作成したいのですが、要素数が2つ以外の時にうまくいきません。
例:
t1 = ('A', 'B')
print(swap_tuple(t1))
('B', 'A')
def swap_tuple(t: tuple): if len(t) == 2: return t[1], t[0] else: return swap_tuple(t) t = ("a", "b", "c") print(swap_tuple(t))
また、swap_tuple()を利用して、配列を引数としてとり、配列の要素に対して「要素がタプルでありかつタプルの要素数が2であればタプルの要素の順を交換」した配列を返す関数swap_tuple_list()を作りたいが、Noneになってしまう。
例:
l1 = [(), ("",), (2,), (2, 3), ("see", "yeah"), (5,)]
print(swap_tuple_list(l1)
結果:
[(), ("",), (2,), (3, 2), ("yeah", "see"), (5,)]
def swap_tuple_list(l: list): if l == (): def swap_tuple(t: tuple): if len(t) == 2: return t[1], t[0] l1 = [(), ("",), (2,), (2, 3), ("see", "yeah"), (5,)] print(swap_tuple_list(l1))
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。