问题:
如何接受任意序列类型(列表、元组、n维数组),甚至是迭代器的函数时,将其转换为列表的严谨方法。
思路:
判断输入是否为容器类型对象(序列对象);判断是否为列表类型,如果不是则转换为列表。
程序:
def isiterable(obj): # 判断是否可迭代对象,意味着是否为容器类型对象
try:
iter(obj)
return True
except TypeError: # 不可遍历
return False
def translist(obj): # 判断是否为列表,序列对象转换
if not isinstance(obj, list) and isiterable(obj):
obj = list(obj)
return obj
if __name__ == '__main__':
translist(x) # 输入任意类型对象