缩短了convert_to_str函数的大列表/ set / dict?

时间:2017-01-25 16:33:42

标签: python tostring

这是我to_str()的简化列表/设置/字典显示。有没有内置功能?或者是否有更简单/更好实施的建议?

def to_str(a):
    if type(a) == list:
        if len(a) > 5:
            return '[' + ','.join(map(to_str, a[:5])) + ',...]'
        return  '[' + ','.join(map(to_str, a)) + ',...]'
    elif type(a) == set:
        if len(a) > 5:
            return '{' + ','.join(map(to_str, list(a)[:5])) + ',...}'
        return '{' + ','.join(map(to_str, list(a))) + ',...}'
    elif type(a) == dict:
        if len(a) > 5:
            return '{' + ','.join(map(lambda x: '%s:%s'%(x[0], to_str(x[1])), [ (k, a[k]) for k in list(a)[:5]])) + ',...}'
        return '{' + ','.join(map(lambda x: '%s:%s'%(x[0], to_str(x[1])), [(k, a[k]) for k in list(a)])) + ',...}'
    return str(a)

0 个答案:

没有答案