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

#!/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

这样的,“犀牛”能够正常显示,我不知道是为什么了!
经验分享 程序员 微信小程序 职场和发展