python:如何打印可能含有子tuple的Tuple

本文探讨了Python中使用元组进行嵌套的数据结构,并通过递归函数实现遍历输出。针对代码实现中出现的异常字符及元素显示问题进行了分析与修正。
#!/user/bin/python
#encoding=utf-8
#Filename:using_tuple.py
def  disList(zoolist):
    for item in zoolist :
        if isinstance(item,tuple):
            disList(item)
        else:
            print item   
zoo=("狼","大象","狮子","猴子")
print "zoo 的长度为 ",len(zoo)
new_zoo=("野猪","犀牛",zoo)
print "new_zoo的长度为 ",len(new_zoo)
print "new_zoo的动物为:"
disList(new_zoo)
print "从上一个动物园获得的动物为:"
disList(new_zoo[2])
print "上一个动物园最后的动物为:"
print new_zoo[2][len(new_zoo[2])-1]

但是这样有个问题:

我在打new_zoo的动物结果会是这样

---------- Python27 ----------
zoo 的长度为  4
new_zoo的长度为  3
new_zoo的动物为:
野猪
Ϭţ

大象
狮子
猴子
从上一个动物园获得的动物为:

大象
狮子
猴子
上一个动物园最后的动物为:
猴子
输出完成 (耗时 0 秒) - 正常终止

很明显,中间多出来了一个6t,而且想要打印的是犀牛啊,我不知道为什么会出现这种情况
但是如果更改

def  disList(zoolist):
    for item in zoolist :
        if isinstance(item,tuple):
            disList(item)
        else:
            print "这是",item   

这样的,“犀牛”能够正常显示,我不知道是为什么了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值