python里面如何实现元组和列表的转换_python – 元组和递归列表转换

(1, (2, (3, (4, None))))

到目前为止,我已经创建了一个方法,将值元组或值None转换为相应的rlist.该方法称为to_rlist(items).例:

>>> to_rlist((1, (0, 2), (), 3))

(1, ((0, (2, None)), (None, (3, None))))

如何编写to_rlist的反转,这个函数将rlist作为输入并返回相应的元组?该方法应该被称为to_tuple(参数).应该发生什么的例子:

>>> x = to_rlist((1, (0, 2), (), 3))

>>> to_tuple(x)

(1, (0, 2), (), 3)

注意:方法to_rlist按预期工作.

这是我到目前为止:

def to_tuple(L):

if not could_be_rlist(L):

return (L,)

x, y = L

if not x is None and not type(x) is tuple and y is None:

return (x,)

elif x is None and not y is None:

return ((),) + to_tuple(y)

elif not x is None and not y is None:

return to_tuple(x) + to_tuple(y)

这给了我以下结果(这是不正确的):

>>> x = to_rlist((1, (0, 2), (), 3))

>>> to_tuple(x)

(1, 0, 2, (), 3)

如何修复我的方法以正确返回嵌套元组?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值